CVE-2025-22870GHSA-QXP5-GWG8-XV66GO-2025-3503
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 1.23.7, 1.24.1, 0.36.0
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
CISA's decision points: whether it is exploited, whether attacks can be automated, and how much control an attacker gets. Assessed (SSVC 2.0.3).What do these mean? →
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- net/http
fixed in 1.23.7; From 1.24.0-0 · fixed in 1.24.1
- golang.org/x/net/http/httpproxy
fixed in 0.36.0
- golang.org/x/net/proxy
fixed in 0.36.0
- golang.org/x/netGo
fixed in 0.36.0
- stdlibGo
fixed in 1.23.7; From 1.24.0-0 · fixed in 1.24.1