Addressable display_uri can show misleading hosts with invalid Punycode A-labels
CVE-2026-126348
Impact Addressable::IDNA.tounicode, in the pure-Ruby IDNA implementation, decodes Punycode labels (labels beginning with xn--) that are not valid A-labels. Those labels are returned in decoded form, when they should be returned unchanged. That includes: labels that decode to only ASCII characters, e.g. xn--google- decodes to google; labels that decode to text that doesn't convert back to the same label (RFC 3490 §4.2), e.g. text that isn't in normalized form. Addressable::URI#displayuri uses tounicode, so for https://xn--google-.example.org/ it displays the host google.example.org, while #host, #normalizedhost and any connection made from the URI use xn--google-.example.org. An attacker who controls a domain can therefore have a URI displayed as a host they don't control. Applications that compare the result of tounicode against a list of trusted names can likewise treat two different hosts as the same. The native IDNA implementation, used when libidn and the idn-ruby gem are installed, is not affected. toascii and normalizedhost are not affected. Affected Versions This vulnerability affects Addressable >= 2.0.0, the first version with the pure-Ruby IDNA implementation, when that…
Assessment
- CVSS
- 4.3 (v3.1)
- Severity
- Medium
- EPSS
- 0.00274% chance of exploitation in the next 30 days
- Known exploited
- Not listed in CISA KEV
- Exploit availability
- Nothing found in Exploit-DB, Metasploit, Nuclei or public PoC repositories
- Published
- 12 November 2026
- Last updated
- 12 November 2026
- Affected
- addressable
- Weakness
- CWE-1007, CWE-20
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
At the source
References
- https://github.com/sporkmonger/addressable/security/advisories/GHSA-9crm-g4mf-wc5j
- https://github.com/sporkmonger/addressable/commit/b8a59cc0e03f8704f1d7c8122fc8f7ef8548362d
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/addressable/GHSA-9crm-g4mf-wc5j.yml
- https://github.com/sporkmonger/addressable/releases/tag/addressable-2.9.1
- https://github.com/advisories/GHSA-9crm-g4mf-wc5j
Community proofs of concept
No community proof of concept yet. If you have one for a published vulnerability and the right to share it, add it below — it will appear here once reviewed.
Submit a proof of concept
Only for publicly disclosed vulnerabilities, and only material from testing you were authorised to perform. This platform does not buy, sell, or broker exploits — see earning from vulnerability research for legitimate bounty programs. Submissions are reviewed before they appear. Text only; do not include live credentials, personal data, or anything targeting systems you are not permitted to test.
Query this programmatically
Agents can read this through the MCP endpoint, or over HTTP:
curl https://cve.zerocrew.in/api/cve/CVE-2026-126348