2026-09-27 17:2CVE-2026-101060VulnCheck
PUBLISHED5.2CWE-918

python-utcp before 1.1.4 SSRF via unvalidated HTTP redirects

python-utcp versions before 1.1.4 contain a server-side request forgery vulnerability in HttpCommunicationProtocol.call_tool that validates the initial tool URL but follows HTTP redirects without re-validating the target. Attackers controlling a tool endpoint can return a 302 redirect to internal services, allowing the UTCP client to reach cloud metadata endpoints or internal HTTP services and return their response bodies to the caller.

Problem type

Affected products

universal-tool-calling-protocol

python-utcp

< 1.1.4 - AFFECTED

1.1.4 - UNAFFECTED

References

GitHub Security Advisories

GHSA-967h-fcmq-3m25

python-utcp versions before 1.1.4 contain a server-side request forgery vulnerability in...

https://github.com/advisories/GHSA-967h-fcmq-3m25

python-utcp versions before 1.1.4 contain a server-side request forgery vulnerability in HttpCommunicationProtocol.call_tool that validates the initial tool URL but follows HTTP redirects without re-validating the target. Attackers controlling a tool endpoint can return a 302 redirect to internal services, allowing the UTCP client to reach cloud metadata endpoints or internal HTTP services and return their response bodies to the caller.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-101060
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-101060",
    "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
    "assignerShortName": "VulnCheck",
    "dateUpdated": "2026-09-27T17:02:40.832Z",
    "dateReserved": "2026-09-27T16:38:56.428Z",
    "datePublished": "2026-09-27T17:02:40.832Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "shortName": "VulnCheck",
        "dateUpdated": "2026-09-27T17:02:40.832Z"
      },
      "datePublic": "2026-06-14T00:00:00.000Z",
      "title": "python-utcp before 1.1.4 SSRF via unvalidated HTTP redirects",
      "descriptions": [
        {
          "lang": "en",
          "value": "python-utcp versions before 1.1.4 contain a server-side request forgery vulnerability in HttpCommunicationProtocol.call_tool that validates the initial tool URL but follows HTTP redirects without re-validating the target. Attackers controlling a tool endpoint can return a 302 redirect to internal services, allowing the UTCP client to reach cloud metadata endpoints or internal HTTP services and return their response bodies to the caller."
        }
      ],
      "affected": [
        {
          "vendor": "universal-tool-calling-protocol",
          "product": "python-utcp",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "status": "affected",
              "versionType": "semver",
              "lessThan": "1.1.4"
            },
            {
              "version": "1.1.4",
              "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-9qhg-99ww-9mqc",
          "name": "GitHub Security Advisory (GHSA-9qhg-99ww-9mqc)",
          "tags": [
            "vendor-advisory"
          ]
        },
        {
          "url": "https://www.vulncheck.com/advisories/python-utcp-before-1.1.4-ssrf-via-unvalidated-http-redirects",
          "name": "VulnCheck Advisory: python-utcp before 1.1.4 SSRF via unvalidated HTTP redirects",
          "tags": [
            "third-party-advisory"
          ]
        }
      ],
      "metrics": [
        {
          "format": "CVSS"
        },
        {
          "format": "CVSS",
          "cvssV3_1": {
            "version": "3.1",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N",
            "attackVector": "NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "NONE",
            "userInteraction": "REQUIRED",
            "scope": "CHANGED",
            "confidentialityImpact": "HIGH",
            "integrityImpact": "LOW",
            "availabilityImpact": "NONE",
            "baseScore": 8.2,
            "baseSeverity": "HIGH"
          }
        }
      ],
      "credits": [
        {
          "lang": "en",
          "value": "lexdotdev",
          "type": "reporter"
        }
      ]
    }
  }
}