Vulnerability · Published May 14, 2026 · Assigned by GitHub_M
CVE-2026-45369python-utcp: Command Injection via Unsanitized Argument Substitution in CLI Communication Protocol
High 8.3
In plain English
A high-severity OS command injection in python-utcp from universal-tool-calling-protocol. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 25% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | utcp-cli | 1.1.2 | GHSA-33p6-5jxp-p3x4 |
| PyPI | utcp-cli | 1.1.2 | PYSEC-2026-560 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| universal-tool-calling-protocol | python-utcp | < 1.1.2 |
Weakness: CWE-78 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H