CVE-2026-39821: Go standard library Privilege Escalation

Publish date: June 4, 2026
Severity
Critical
CVSS score
10
Package
stdlib
Affected versions

CVE-2026-39821 is a critical privilege escalation vulnerability in Go standard library, published in the National Vulnerability Database (NVD) on May 22, 2026. It carries a CVSS v3.1 base score of 9.6 (Critical). According to its CVSS vector, it can be exploited over the network, needs low privileges and no user interaction.

What is CVE-2026-39821?

idna package's ToASCII and ToUnicode can allow privilege escalation via Punycode labels.

The NVD description reads:

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".

NVD maps this issue to CWE-1289 (Improper Validation of Unsafe Equivalence in Input).

Affected versions and packages

NVD's CPE configuration lists these vulnerable version ranges:

  • net before 0.55.0

Note: the product named in the NVD CPE data for CVE-2026-39821 (Google Chrome, Android or golang.org/x/net) differs from the package Echo's advisory data tracks, so the upstream fixed versions above do not map directly to the tracked package. Verify the fixed version against your distribution's or vendor's advisory.

Echo's advisory data tracks 2 packages for CVE-2026-39821: golang.org/x/net, stdlib.

Package versions listed in Echo's advisory data for this CVE (compare them with the versions you run):

  • golang.org/x/net: v0.38.0, v0.44.0, v0.49.0, v0.52.0
  • stdlib: v1.23.4, v1.25.12, v1.25.5, v1.26.1 and 1 more

Severity and CVSS score

    A score of 10.0 puts CVE-2026-39821 in the Critical range (9.0 to 10.0), the highest CVSS band. The vector shows the attack path and the impact on confidentiality, integrity and availability. For help weighing exploit likelihood against raw severity, see our guide to open source vulnerability scanning.

    Impact: Privilege Escalation

    The CVSS vector rates the impact on confidentiality as high, integrity as high and availability as none. The scope is changed, meaning a successful attack can affect resources beyond the vulnerable component. Exploitation requires low privileges and no user interaction, and the attacker reaches the target over the network.

    What this means in practice depends on how Go standard library is used in your environment: how widely it is deployed, whether the affected code path is reachable, and what the process can access. Treat the exposed systems that run a listed version as in scope until you have confirmed otherwise.

    Is CVE-2026-39821 being exploited in the wild?

    Known exploitation: CISA KEV

    No. As of November 4, 2026, CVE-2026-39821 is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog (catalog version 2026.11.03). KEV only lists vulnerabilities with confirmed exploitation, so absence from the catalog is not proof that nobody is exploiting the flaw.

    EPSS score and percentile

    The Exploit Prediction Scoring System (EPSS) from FIRST estimates the probability that a CVE will see exploitation activity in the next 30 days. On November 3, 2026, CVE-2026-39821 had an EPSS score of 0.018, which corresponds to a probability of 1.8%. It sits at the 79th percentile, which means it is scored as more likely to be exploited than roughly 78% of scored CVEs, placing it above the median of scored CVEs. EPSS is recalculated daily and is a likelihood estimate, not a confirmation, so read it together with KEV status, exposure and CVSS severity.

    Attack vector, complexity, privileges and user interaction

    Based on the CVSS v3.1 vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N (source: CNA), this is how an attacker has to approach CVE-2026-39821:

    • Attack vector: Network (AV:N): the flaw can be reached remotely over the network, so the attacker does not need to be on the same host or LAN.
    • Attack complexity: Low (AC:L): no special conditions are needed, so the attack can be repeated reliably.
    • Privileges required: Low (PR:L): the attacker needs a basic, low-privileged account.
    • User interaction: None (UI:N): no action by a user is required.
    • Scope: Changed (S:C): a successful attack can affect resources beyond the vulnerable component.

    Is there a public proof of concept or exploit?

    CISA's SSVC assessment recorded in NVD (dated May 23, 2026) lists the exploitation status as "none", which means there was no evidence of active exploitation and no public proof of concept at that time. None of the references in the NVD record is tagged as an exploit. This reflects NVD and CISA records as of November 4, 2026, and public exploit code can appear at any time.

    Practical exposure conditions

    • Only systems that run an affected version are exposed. Compare the Go standard library versions in your hosts and container images against the vulnerable ranges listed above.
    • The vector is network-based, so Go standard library deployments that process input from untrusted networks carry the most risk, especially internet-facing ones. Internal-only deployments are still exposed to anyone who can reach them.
    • A low-privileged account is enough, so risk grows wherever many users, tenants or customers hold accounts.
    • No user has to click or open anything, so the flaw can be triggered without any user action.
    • The scope is changed, so a successful attack can reach beyond the vulnerable component.
    • CISA's SSVC assessment marks the issue as not automatable, which means attacks are harder to run at scale.

    How to fix CVE-2026-39821

    1. Inventory. Find every host, container image and base image that includes Go standard library, including the packages listed above (golang.org/x/net, stdlib).
    2. Upgrade. Upgrade to the release that the vendor or your distribution lists as fixed for CVE-2026-39821. The references below link to the upstream advisory.
    3. Rebuild and restart. Rebuild container images and restart the services that load Go standard library so the patched code is actually used.
    4. Verify. Re-scan your images and hosts to confirm that no package still matches a vulnerable version of CVE-2026-39821.

    Interim mitigations if you cannot patch immediately

    These are general hardening steps, not a vendor-specific workaround. Updating is the only complete fix.

    • Restrict network access to services that use Go standard library to trusted sources with firewall rules or allow-lists until you can patch.
    • Monitor logs and runtime behavior on affected systems for unusual activity, and prioritize them in your next patch window.

    How Echo helps with CVE-2026-39821

    Echo is a registered CVE Numbering Authority (CNA) and ships patched, vetted open source packages and container images, so teams can remove vulnerable components instead of tracking an endless backlog. For this CVE, Echo's advisory data tracks 2 packages (golang.org/x/net, stdlib). Read how automated patch SLAs reduce enterprise risk in how automated patch SLAs reduce enterprise risk and why how to deal with CVE backlogs matters. Related Go advisories: CVE-2026-42508 and CVE-2026-39832.

    Frequently asked questions about CVE-2026-39821

    What is CVE-2026-39821?

    CVE-2026-39821 is a critical privilege escalation vulnerability in Go standard library. idna package's ToASCII and ToUnicode can allow privilege escalation via Punycode labels. It has a CVSS base score of 10.0.

    Which versions are affected by CVE-2026-39821?

    NVD lists these vulnerable ranges: net before 0.55.0.

    Is CVE-2026-39821 actively exploited?

    It is not listed in CISA's KEV catalog as of November 4, 2026 (catalog version 2026.11.03), but that does not rule out exploitation. FIRST's EPSS model puts the probability of exploitation activity in the next 30 days at 1.8%, at the 79th percentile (November 3, 2026). On public exploit code: CISA's SSVC assessment in NVD (dated May 23, 2026) lists no public proof of concept.

    How do I fix CVE-2026-39821?

    Upgrade to the release that the vendor or your distribution lists as fixed for CVE-2026-39821. The references below link to the upstream advisory. Then rebuild images, restart affected services and re-scan to confirm the fix.

    How severe is CVE-2026-39821?

    It is rated Critical with a CVSS base score of 10.0. The vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N means it can be exploited over the network, with low privileges and no user interaction.

    Are there other Go vulnerabilities I should patch?

    Yes. Echo's advisory data also covers CVE-2026-42508 and CVE-2026-39832. Patch them together to reduce the number of upgrade cycles.