Vulnerability in Golang Net
CVE-2026-39821
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".
EPSS: 0.007 (50.5th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 9.6 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N.
Affected products
- Golang Net
- Golang.org/x/net Golang.org/x/net/idna — versions 0
- Go Standard Library Net/http — versions 0, 1.26.0-0, 1.27.0-0
- Go Standard Library Net/http/internal/http2 — versions 0, 1.26.0-0, 1.27.0-0
Weakness classification (CWE)
References
- security@golang.org (Issue Tracking)
- security@golang.org (Issue Tracking)
- security@golang.org (Mailing List)
- security@golang.org (Vendor Advisory)
- 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
- 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
- 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
- 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
- 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
- 0b0ca135-0b70-47e7-9f44-1890c2a1c46c
Frequently asked questions
- What is CVE-2026-39821?
- CVE-2026-39821 is a critical-severity vulnerability in Golang Net, classified under CWE-1289. CVSS score: 9.6/10. Published 2026-05-22.
- How severe is CVE-2026-39821?
- Critical severity. CVSS v3 base score is 9.6 out of 10.