Description
Nightingale (n9e), as of commit 8362cbe (main branch, confirmed 2026-08-27), contains a server-side request forgery vulnerability in the isPublicIP function in aiagent/tools/http.go, the SSRF guard for the http_fetch AI-agent tool. The function only unwraps standard IPv4-mapped (::ffff:a.b.c.d) IPv6 addresses before checking them against the forbidden-range list, and does not classify 6to4 (2002::/16), NAT64 (64:ff9b::/96, 64:ff9b:1::/48), or deprecated site-local (fec0::/10) addresses. On a dual-stack or NAT64-enabled host, an attacker able to supply a URL to the http_fetch tool can bypass the guard by encoding a forbidden IPv4 address (such as the cloud instance-metadata endpoint 169.254.169.254) in one of these IPv6 forms to reach internal or metadata services.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ccfos | nightingale | ≤ 9.1.1 | — |
References
- GitHub Issue #3363 issue-tracking
- https://github.com/ccfos/nightingale product
- https://github.com/ccfos/nightingale/blob/v9.1.1/aiagent/tools/http.go technical-description
- VulnCheck Advisory: Nightingale 9.1.1 SSRF Guard Bypass via IPv6 Encoding third-party-advisory