CVE-2026-39821
CVE-2026-39821 is a critical-severity vulnerability in Golang Net with a CVSS 3.x base score of 9.6. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-1289.
Key facts
- Severity: Critical (CVSS 3.x base score 9.6)
- EPSS exploit prediction: 0% (38th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-31449
- Weakness: CWE-1289
- Affected product: Golang Net
- Published:
- Last modified:
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".
Frequently asked questions
- What is 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".
- How severe is CVE-2026-39821?
- CVE-2026-39821 has a CVSS 3.x base score of 9.6, rated critical severity. It is exploitable over network with low attack complexity, requires low privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability none.
- Is CVE-2026-39821 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (38th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-39821?
- CVE-2026-39821 affects Golang Net. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-39821?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2026-39821 have an EU (EUVD) identifier?
- Yes. CVE-2026-39821 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-31449.
- When was CVE-2026-39821 published?
- CVE-2026-39821 was published on 2026-05-22 and last updated on 2026-07-08.
References
- https://go.dev/cl/767220
- https://go.dev/issue/78760
- https://groups.google.com/g/golang-announce/c/iI-mYSI0lu8
- https://pkg.go.dev/vuln/GO-2026-5026
- https://access.redhat.com/errata/RHSA-2026:23262
- https://access.redhat.com/errata/RHSA-2026:23264
- https://access.redhat.com/errata/RHSA-2026:26546
- https://access.redhat.com/errata/RHSA-2026:26547
- https://access.redhat.com/errata/RHSA-2026:30650
- https://access.redhat.com/errata/RHSA-2026:30651
- https://access.redhat.com/errata/RHSA-2026:30853
- https://access.redhat.com/errata/RHSA-2026:30854
- https://access.redhat.com/errata/RHSA-2026:30855
- https://access.redhat.com/errata/RHSA-2026:33155
- https://access.redhat.com/errata/RHSA-2026:33160
- https://access.redhat.com/errata/RHSA-2026:33163
- https://access.redhat.com/errata/RHSA-2026:33173
- https://access.redhat.com/errata/RHSA-2026:33183
- https://access.redhat.com/errata/RHSA-2026:33524
- https://access.redhat.com/errata/RHSA-2026:33531
- https://access.redhat.com/errata/RHSA-2026:34342
- https://access.redhat.com/errata/RHSA-2026:34357
- https://access.redhat.com/errata/RHSA-2026:34359
- https://access.redhat.com/errata/RHSA-2026:34364
- https://access.redhat.com/errata/RHSA-2026:34789
- https://access.redhat.com/errata/RHSA-2026:35826
- https://access.redhat.com/errata/RHSA-2026:35827
- https://access.redhat.com/errata/RHSA-2026:35828
- https://access.redhat.com/errata/RHSA-2026:35829
- https://access.redhat.com/errata/RHSA-2026:35830
Affected products (1)
- cpe:2.3:a:golang:net:*:*:*:*:*:go:*:*
More vulnerabilities in Golang Net
- CVE-2018-17848 — High (CVSS 7.5): The html package (aka x/net/html) through 2018-09-25 in Go mishandles <math><template><mn><b></template>, leading to a…
- CVE-2018-17847 — High (CVSS 7.5): The html package (aka x/net/html) through 2018-09-25 in Go mishandles <svg><template><desc><t><svg></template>, leading…
- CVE-2018-17846 — High (CVSS 7.5): The html package (aka x/net/html) through 2018-09-25 in Go mishandles <table><math><select><mi><select></table>,…
- CVE-2018-17143 — High (CVSS 7.5): The html package (aka x/net/html) through 2018-09-17 in Go mishandles <template><tBody><isindex/action=0>, leading to a…
- CVE-2018-17142 — High (CVSS 7.5): The html package (aka x/net/html) through 2018-09-17 in Go mishandles <math><template><mo><template>, leading to a…
- CVE-2018-17075 — High (CVSS 7.5): The html package (aka x/net/html) before 2018-07-13 in Go mishandles "in frameset" insertion mode, leading to a "panic:…
All CVEs affecting Golang Net →
Other CWE-1289 vulnerabilities
- CVE-2026-50090 — Critical (CVSS 9.3): The Aqara Cloud OAuth Authorization Endpoint (open-cn.aqara.com/oauth/authorize) is vulnerable to a redirect bypass due…
- CVE-2024-42219 — High (CVSS 7.8): 1Password 8 before 8.10.36 for macOS allows local attackers to exfiltrate vault items because XPC inter-process…
- CVE-2026-49942 — High (CVSS 7.3): Net::CIDR::Set versions through 0.20 for Perl did not validate network masks. The mask portion of a network mask could…
- CVE-2024-45179 — High (CVSS 7.2): An issue was discovered in za-internet C-MOR Video Surveillance 5.2401 and 6.00PL01. Due to insufficient input…
- CVE-2026-39972 — High (CVSS 7.1): Mercure is a protocol for pushing data updates to web browsers and other HTTP clients in a battery-efficient way. Prior…
- CVE-2026-49940 — Medium (CVSS 6.5): Net::CIDR::Set versions through 0.20 for Perl accept non-ASCII IP addresses and netmasks. Unicode digits such as the…