Skip to main content
VulnerabilityPublished

CVE-2026-45366: universal-tool-calling-protocol typescript-utcp · Server-Side Request Forgery (SSRF)

Affects universal-tool-calling-protocol typescript-utcpSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 4.7 Medium : upgrade to 1.1.2 when convenient.

Data as of 29 Oct 2026, 19:04 UTC

CVSS 3.1 base score
4.7Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 1% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 1.1.2
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 28 May 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.

What to do

Upgrade universal-tool-calling-protocol typescript-utcp to 1.1.2.

Affected software

ProductAffectedFixed in
universal-tool-calling-protocoltypescript-utcpAffected
  • <1.1.2
Fixed in
  • 1.1.2

AI-suggested

Upgrade to typescript-utcp version 1.1.2 or later, where this SSRF vulnerability has been fixed. There is no official vendor advisory specifying alternative mitigations. Patch status is not explicitly confirmed beyond the fix in version 1.1.2, so users should verify the upgrade. No other mitigations are indicated by the vendor advisory.

Description

typescript-utcp is a typescript implementation of UTCP. Prior to 1.1.2, the @utcp/http package is vulnerable to a blind Server-Side Request Forgery (SSRF) caused by a trust-boundary inconsistency between manual discovery and tool invocation.registerManual() validates the discovery URL against an HTTPS / loopback allowlist, but callTool() reuses the resolved toolCallTemplate.url directly without revalidating, and the OpenApiConverter blindly trusts whatever servers[0].url an attacker-hosted spec declares. An attacker who hosts a malicious OpenAPI spec on a legitimate HTTPS endpoint can declare e.g.servers: [{ url: "http://127.0.0.1:9090" }] or servers: [{ url: "http://169.254.169.254" }]; the converter then produces tools whose URL points at internal services on the agent host. This vulnerability is fixed in 1.1.2.

References

Community reviews

Loading reviews…