CVE-2026-101058
Received Received - Intake

SSRF in python-utcp via Malicious UTCP Manual

Vulnerability report for CVE-2026-101058, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-27

Last updated on: 2026-09-27

Assigner: VulnCheck

Description

python-utcp (pip package utcp-http) before 1.1.12 does not verify whether tool URLs declared in a hand-written UTCP manual point at the agent's own loopback interface when that manual is discovered from a remote, non-loopback origin. Because ensure_secure_url intentionally permits loopback HTTP for local development and native manuals bypassed the loopback check performed by the OpenAPI converter, an attacker who can serve a UTCP manual that a victim registers can cause the client to issue requests to services bound only to 127.0.0.1 on the victim host and have the response bodies returned to the caller (server-side request forgery). The http, sse and streamable_http protocols are all affected. Reach is limited to loopback, and exploitation further requires a loopback service that answers unauthenticated requests with useful data. Fixed in utcp-http 1.1.12, which rejects manuals fetched from a non-loopback origin that declare loopback tool URLs, keyed off the final post-redirect discovery URL.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-27
Last Modified
2026-09-27
Generated
2026-09-27
AI Q&A
2026-09-27
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
universal_tool_calling_protocol python_utcp to 1.1.12 (exc)
universal_tool_calling_protocol utcp_http to 1.1.12 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-918 The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a Server-Side Request Forgery (SSRF) vulnerability in the python-utcp library, specifically in the utcp-http package versions 1.1.11 and earlier. It occurs when an HTTP call template discovers a manually written UTCP manual from a remote source, which can direct tool invocations to the agent's loopback interface (127.0.0.1) without proper validation. This allows an attacker to make the client issue requests to loopback services on the victim's host and read their responses if a vulnerable loopback service is running.

Detection Guidance

To detect this vulnerability, check if your system is running python-utcp (utcp-http) versions 1.1.11 or earlier. Run: pip show utcp-http. If the version is <=1.1.11, the system is vulnerable. Additionally, monitor network traffic for unexpected requests to 127.0.0.1 originating from non-loopback sources.

Impact Analysis

An attacker could exploit this to access sensitive data from local services running on your machine, such as internal APIs or databases, if they are bound to 127.0.0.1 and do not require authentication. The impact is limited to loopback targets and depends on the presence of such services.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, potentially violating GDPR (data protection) or HIPAA (health information privacy) if exploited. Organizations must ensure affected systems are patched to avoid compliance breaches.

Mitigation Strategies

Immediately upgrade python-utcp to version 1.1.12 or later using: pip install --upgrade utcp-http. If upgrading is not possible, restrict network access to loopback services and disable unauthenticated local services that could be exploited.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-101058. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart