All vulnerabilities
CVE-2026-101061CVE-2026-12210GHSA-ppx3-28rw-8fpfPYSEC-2026-3931PYSEC-2026-3932

python-utcp: utcp-gql and utcp-websocket before 1.1.1 SSRF via URL validation bypass

universal-tool-calling-protocol python-utcpPyPIRuntimes & languages
CVSS
2.3Low
ExploitationPublic exploit codeCISA's assessment says proof of concept code is public, assessed 30 Sep 2026. Not in the KEV catalogCISA via CVE List
Exploit odds (EPSS)0.20%Chance of exploitation activity in the next 30 days, higher than 9% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in1.1.1Fixed versionCVE List
Published27 Sep 2026Updated 30 Sep 2026CVE List

What fixes it

  • 1.1.1python-utcpCVE List
  • 1.1.1utcp-gql, PyPIOSVpip install "utcp-gql>=1.1.1"
  • 1.1.1utcp-websocket, PyPIOSVpip install "utcp-websocket>=1.1.1"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

utcp-gql before 1.1.1 and utcp-websocket before 1.1.1 contain server-side request forgery vulnerabilities due to incomplete application of CVE-2026-44661 fixes. The GraphQL plugin uses a vulnerable prefix check allowing bypass URLs like http://127.0.0.1.attacker.example, while the WebSocket plugin performs no URL validation despite documented security requirements. Attackers can force connections to internal services and cloud metadata endpoints by supplying malicious tool URLs in call templates, and receive configured API keys and OAuth tokens sent to attacker-controlled hosts.

Text from CVE List

Affected versions 8

  • python-utcpaffected: all versions before 1.1.1CVE List
  • python-utcpunaffected: 1.1.1CVE List
  • utcp-gql, PyPIfrom first release, fixed in 1.1.1OSV
  • utcp-gql, PyPI1.0.2OSV
  • utcp-gql, PyPI1.1.0OSV
  • utcp-websocket, PyPIfrom first release, fixed in 1.1.1OSV
  • utcp-websocket, PyPI1.0.0OSV
  • utcp-websocket, PyPI1.1.0OSV

References 2