Skip to content
MediumVulnerability

GHSA-r8j5-8747-88cm: @utcp/http: SSRF via attacker-controlled OpenAPI servers[0].url in HTTP communication protocol

Published
Record updated
View JSON
Affected
  • @utcp/http <= 1.1.1
Fixed in
1.1.2
  • released May 10, 2026, 4 days before disclosure
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.1%

Summary

The @utcp/http npm package, versions 1.1.1 and earlier, contains a blind SSRF flaw in its manual discovery and tool invocation paths. The registerManual() check against an HTTPS/loopback allowlist is not reapplied in callTool(), and the OpenApiConverter trusts servers[0].url from an attacker-hosted OpenAPI spec, so an attacker can point generated tools at internal addresses such as http://169.254.169.254 or http://127.0.0.1:9090. The earlier startsWith('http://localhost') guard also let http://localhost.evil.com through.

Mitigation

Fixed in 1.1.2: callTool re-validates the resolved URL with ensureSecureUrl, and OpenApiConverter rejects a remote spec that declares a loopback servers[0].url. Workarounds for users who cannot upgrade immediately: refuse to call registerManual with any URL from an untrusted party, and restrict outbound network access from the agent host so RFC1918, 169.254.0.0/16 and loopback addresses are unreachable.