CVE-2026-39821
The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label.
Published May 22, 2026 · corrected/updated Oct 16, 2026 · golang net · evidence confidence high
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".
Grounded briefings
Catalog interpretations for three audiences. Each brief cites ingested metadata and the original advisories below. They are not independent research and they do not invent exploit steps.
Executive
CVE-2026-39821 is a critical public vulnerability record for golang net. It is not currently listed in the CISA Known Exploited catalog. Check the linked vendor or CERT advisories for patch status. This summary is a catalog interpretation of the ingested metadata and cites the original advisories below.
System administrator
Identify whether golang net is in your estate, then compare installed versions with the affected ranges. Affected packages or ranges on record: golang.org/x/net (0 → 0.55.0); stdlib (0 → 1.25.13); golang/net. Check the linked vendor or CERT advisories for patch status. Prefer the vendor or distribution advisory linked in Sources before changing production systems. This is a catalog interpretation, not a runbook.
Security analyst
Signals on file: CVSS 9.6. It is not currently listed in the CISA Known Exploited catalog. Weakness classes: CWE-1289. Sources contributing to this record: cve_org, go_vulndb, nvd, osv. Public exploit references, when present, are outbound links only and are not proof of active exploitation. This is a catalog interpretation of stored metadata.
Exploitation and remediation
Exploitation evidence
Not listed as known exploited in CISA KEV. Not in CISA KEV or VulnCheck KEV.
Patch and remediation
No required-action text is stored yet. Use the vendor or CERT links in Sources for patch availability.
Safe detection guidance
Compare installed versions with the affected ranges below and verify the advisory from the original publisher. This site stores metadata and outbound links only; it does not ship exploit code or proof-of-concept payloads.
Code
The project this record applies to. Exploit listings stay in References.
No public source repository is identified for this product.
Timeline
Detection, updates, and resolution for this record.
May 22, 2026 · NIST NVD
Detected
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 "examp
Sep 17, 2026 · NIST NVD
Updated
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 "examp
Oct 16, 2026 · OpenSSF OSV / OSV Scanner
Fix available
stdlib fixed in 1.25.13; golang.org/x/net fixed in 0.55.0
Oct 16, 2026 · OpenSSF OSV / OSV Scanner
Fix available
stdlib fixed in 1.25.13
Oct 16, 2026 · OpenSSF OSV / OSV Scanner
Fix available
golang.org/x/net fixed in 0.55.0
Oct 16, 2026 · OpenSSF OSV / OSV Scanner
Updated
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 "examp
Affected
- Go golang.org/x/net0 → 0.55.0
- Go stdlib0 → 1.25.13
- cpe golang/netversion unspecified
Sources
- CVE.orgVulnerability recordCVE-2026-39821
Official CVE identifier
cve.org - Go Vulnerability DatabasePackage advisoryGO-2026-5026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna
osv.dev - NIST NVDVulnerability recordCVE-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 program
nvd.nist.gov - OpenSSF OSV / OSV ScannerPackage advisoryGO-2026-5026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna
osv.dev