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".
Problem types
CWE-1289: Improper Validation of Unsafe Equivalence in Input
Product status
Any version before 0.55.0
Credits
KC1zs4 (https://github.com/KC1zs4)
References
access.redhat.com/security/cve/CVE-2026-39821
bugzilla.redhat.com/show_bug.cgi?id=2480756 (RHBZ#2480756)
security.access.redhat.com/...2/vex/2026/cve-2026-39821.json
access.redhat.com/errata/RHSA-2026:30855
access.redhat.com/errata/RHSA-2026:35827
access.redhat.com/errata/RHSA-2026:35826
access.redhat.com/errata/RHSA-2026:34357
access.redhat.com/errata/RHSA-2026:30853
access.redhat.com/errata/RHSA-2026:35830
access.redhat.com/errata/RHSA-2026:35831
access.redhat.com/errata/RHSA-2026:30854
access.redhat.com/errata/RHSA-2026:35828
access.redhat.com/errata/RHSA-2026:34359
access.redhat.com/errata/RHSA-2026:34342
access.redhat.com/errata/RHSA-2026:34364
access.redhat.com/errata/RHSA-2026:30651
access.redhat.com/errata/RHSA-2026:26547
access.redhat.com/errata/RHSA-2026:26546
access.redhat.com/errata/RHSA-2026:33531
access.redhat.com/errata/RHSA-2026:33524
access.redhat.com/errata/RHSA-2026:23262
access.redhat.com/errata/RHSA-2026:23264
access.redhat.com/errata/RHSA-2026:33155
access.redhat.com/errata/RHSA-2026:33160
access.redhat.com/errata/RHSA-2026:33163
access.redhat.com/errata/RHSA-2026:33173
access.redhat.com/errata/RHSA-2026:33183
access.redhat.com/errata/RHSA-2026:30650
groups.google.com/g/golang-announce/c/iI-mYSI0lu8