CVE-2026-45369 python-utcp: Command Injection via Unsanitized Argument Substitution in CLI Communication Protocol

High 8.3 Published Updated

Attackers can execute arbitrary shell commands by injecting malicious arguments into the python-utcp library's CLI communication protocol.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-45369?

CVE-2026-45369 is a high-severity command injection vulnerability in universal-tool-calling-protocol python-utcp, published on 14 May 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

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.

Weakness: CWE-78

Which versions are affected by CVE-2026-45369?

3 open source packages ship an affected version, including utcp-cli.

PackageAffectedFixed in
utcp-cli PyPIAll versions1.1.2
utcp-cli PyPIAll versions1.1.2
utcp-cli PyPIAll versions1.1.2

How do I fix CVE-2026-45369?

Upgrade utcp-cli to 1.1.2 or later.

Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.

Is CVE-2026-45369 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-45369 exists.

Sources

Also known as GHSA-33p6-5jxp-p3x4, PYSEC-2026-560.

Is CVE-2026-45369 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free