Description
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".
CVSS breakdown
CVSS 3.1
Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
None
Affected products
- Golang / net0.55.0
- golang.org/x/net / golang.org/x/net/idna0 – 0.55.0
- Go standard library / net/http1.26.0-0 – 1.26.6
- Go standard library / net/http1.27.0-0 – 1.27.0-rc.3
- Go standard library / net/http0 – 1.25.13
- Go standard library / net/http/internal/http20 – 1.25.13
- Go standard library / net/http/internal/http21.26.0-0 – 1.26.6
- Go standard library / net/http/internal/http21.27.0-0 – 1.27.0-rc.3
Updated 20m ago · 8 sources