| { |
| "schema_version": "1.3.1", |
| "id": "GO-2025-3503", |
| "modified": "0001-01-01T00:00:00Z", |
| "published": "0001-01-01T00:00:00Z", |
| "aliases": [ |
| "CVE-2025-22870" |
| ], |
| "summary": "HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net", |
| "details": "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.", |
| "affected": [ |
| { |
| "package": { |
| "name": "golang.org/x/net", |
| "ecosystem": "Go" |
| }, |
| "ranges": [ |
| { |
| "type": "SEMVER", |
| "events": [ |
| { |
| "introduced": "0" |
| }, |
| { |
| "fixed": "0.36.0" |
| } |
| ] |
| } |
| ], |
| "ecosystem_specific": { |
| "imports": [ |
| { |
| "path": "golang.org/x/net/http/httpproxy", |
| "symbols": [ |
| "config.useProxy", |
| "domainMatch.match" |
| ] |
| }, |
| { |
| "path": "golang.org/x/net/proxy", |
| "symbols": [ |
| "Dial", |
| "FromEnvironment", |
| "FromEnvironmentUsing", |
| "PerHost.AddFromString", |
| "PerHost.Dial", |
| "PerHost.DialContext", |
| "PerHost.dialerForRequest" |
| ] |
| } |
| ] |
| } |
| } |
| ], |
| "references": [ |
| { |
| "type": "FIX", |
| "url": "https://go.dev/cl/654697" |
| }, |
| { |
| "type": "REPORT", |
| "url": "https://go.dev/issue/71984" |
| } |
| ], |
| "credits": [ |
| { |
| "name": "Juho Forsén of Mattermost" |
| } |
| ], |
| "database_specific": { |
| "url": "https://pkg.go.dev/vuln/GO-2025-3503", |
| "review_status": "REVIEWED" |
| } |
| } |