The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error.
This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com".
{
"review_status": "REVIEWED",
"url": "https://pkg.go.dev/vuln/GO-2026-5026"
}{
"imports": [
{
"path": "net/http",
"symbols": [
"Client.CloseIdleConnections",
"Client.Do",
"Client.Get",
"Client.Head",
"Client.Post",
"Client.PostForm",
"ClientConn.Close",
"ClientConn.RoundTrip",
"Get",
"Head",
"Post",
"PostForm",
"Transport.CloseIdleConnections",
"Transport.NewClientConn",
"Transport.RoundTrip",
"http1ClientConn.Close",
"http1ClientConn.RoundTrip",
"http2ClientConn.RoundTrip",
"http2RoundTripper.RoundTrip",
"idnaASCII"
]
},
{
"path": "net/http/internal/http2",
"symbols": [
"Transport.AddConn",
"Transport.RoundTrip",
"Transport.RoundTripOpt",
"authorityAddr"
]
}
]
}