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.
utcp-gql and utcp-websocket before 1.1.1 SSRF via URL validation bypass
Problem type
Affected products
universal-tool-calling-protocol
< 1.1.1 - AFFECTED
1.1.1 - UNAFFECTED
< 1.1.1 - AFFECTED
1.1.1 - UNAFFECTED
References
https://github.com/universal-tool-calling-protocol/python-utcp/security/advisories/GHSA-ppx3-28rw-8fpf
https://www.vulncheck.com/advisories/utcp-gql-and-utcp-websocket-before-1.1.1-ssrf-via-url-validation-bypass
GitHub Security Advisories
GHSA-gx2c-cr72-v8vv
utcp-gql before 1.1.1 and utcp-websocket before 1.1.1 contain server-side request forgery...
https://github.com/advisories/GHSA-gx2c-cr72-v8vvutcp-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.
https://github.com/universal-tool-calling-protocol/python-utcp/security/advisories/GHSA-ppx3-28rw-8fpf
https://nvd.nist.gov/vuln/detail/CVE-2026-101061
https://www.vulncheck.com/advisories/utcp-gql-and-utcp-websocket-before-1.1.1-ssrf-via-url-validation-bypass
https://github.com/advisories/GHSA-gx2c-cr72-v8vv
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-101061Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-101061",
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"dateUpdated": "2026-09-27T17:02:41.556Z",
"dateReserved": "2026-09-27T16:38:56.428Z",
"datePublished": "2026-09-27T17:02:41.556Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-09-27T17:02:41.556Z"
},
"datePublic": "2026-06-14T00:00:00.000Z",
"title": "utcp-gql and utcp-websocket before 1.1.1 SSRF via URL validation bypass",
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"vendor": "universal-tool-calling-protocol",
"product": "python-utcp",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "semver",
"lessThan": "1.1.1"
},
{
"version": "1.1.1",
"status": "unaffected",
"versionType": "semver"
}
]
},
{
"vendor": "universal-tool-calling-protocol",
"product": "python-utcp",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "semver",
"lessThan": "1.1.1"
},
{
"version": "1.1.1",
"status": "unaffected",
"versionType": "semver"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Server-Side Request Forgery (SSRF)",
"cweId": "CWE-918",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/universal-tool-calling-protocol/python-utcp/security/advisories/GHSA-ppx3-28rw-8fpf",
"name": "GitHub Security Advisory (GHSA-ppx3-28rw-8fpf)",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://www.vulncheck.com/advisories/utcp-gql-and-utcp-websocket-before-1.1.1-ssrf-via-url-validation-bypass",
"name": "VulnCheck Advisory: utcp-gql and utcp-websocket before 1.1.1 SSRF via URL validation bypass",
"tags": [
"third-party-advisory"
]
}
],
"metrics": [
{
"format": "CVSS"
},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "NONE",
"baseScore": 4.7,
"baseSeverity": "MEDIUM"
}
}
],
"credits": [
{
"lang": "en",
"value": "hariantara",
"type": "reporter"
}
]
}
}
}