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.
The product receives an input value that is used as a resource identifier or other type of reference, but it does not validate or incorrectly validates that the input is equivalent to a potentially-unsafe value.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Net | Golang | * | 0.55.0 (excluding) |
| Red Hat Advanced Cluster Security for Kubernetes 4.10 | RedHat | advanced-cluster-security/rhacs-main-rhel8:1781686458 | * |
| Red Hat Advanced Cluster Security for Kubernetes 4.9 | RedHat | advanced-cluster-security/rhacs-main-rhel8:1781686446 | * |
| Red Hat Hardened Images | RedHat | golang1-25-main-1.25.11-2.hum1 | * |
| Red Hat Hardened Images | RedHat | golang1-26-main-1.26.4-2.hum1 | * |
| Golang-golang-x-net-dev | Ubuntu | esm-apps/bionic | * |
| Golang-golang-x-net-dev | Ubuntu | esm-apps/focal | * |
Attackers can sometimes bypass input validation schemes by finding inputs that appear to be safe, but will be dangerous when processed at a lower layer or by a downstream component. For example, a simple XSS protection mechanism might try to validate that an input has no “” tags using case-sensitive matching, but since HTML is case-insensitive when processed by web browsers, an attacker could inject “” and trigger XSS.