CVE-2026-45369
HighSummary
In the python-utcp library prior to version 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. This allows an attacker to inject arbitrary shell commands.
Risk Assessment
This vulnerability allows an attacker to execute malicious commands, potentially leading to serious security breaches. Organizations should be aware of the risks associated with unauthorized access to systems.
Recommendation
It is recommended to upgrade to version 1.1.3 or later to mitigate this vulnerability. Additionally, conducting a security audit of applications using this library is advisable.
Other vulnerabilities in python-utcp
See all- CVE-2026-45370High
In python-utcp prior to version 1.1.3, the _prepare_environment() function in cli_communication_protocol.py passes a full copy of os.environ to every CLI subprocess. When combined with CVE-2026-45369, an attacker can exfiltrate all process-level secrets in a single tool call.
- CVE-2026-12210Medium
A vulnerability was detected in universal-tool-calling-protocol python-utcp version 1.1.0 in the utcp-gql/utcp-websocket component. Manipulation leads to server-side request forgery (SSRF). The attack can be initiated remotely. The exploit is public. The vendor did not respond.
Original NVD description (English source)
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.

