CVE-2026-126348: Addressable display_uri can show misleading hosts with invalid Punycode A-labels
Affects addressableSource GCVE Database
Not known to be exploited · CVSS 4.3 Medium : upgrade to 2.9.1 when convenient.
Data as of 12 Nov 2026, 23:20 UTC
Thin evidence
One scorer or none| CNA (GitHub_M) | CVSS 3.1 | 4.3 |
|---|
- Patch
- Available – fixed in 2.9.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 12 Nov 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 12 Nov 2026.
What to do
Upgrade addressable to 2.9.1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| RubyGemsaddressable | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
A fix is available in Addressable version 2.9.1, which returns invalid Punycode labels unchanged in to_unicode, aligning behavior with the native IDNA implementation. Users should upgrade to version 2.9.1 or later. Alternatively, installing libidn and the idn-ruby gem forces Addressable to use the native IDNA implementation, which is not affected. Security decisions should not be based on display_uri or to_unicode output; instead, use normalized_host for hostname comparisons.
Description
Addressable versions 2.0.0 through 2.9.0 contain a vulnerability in the pure-Ruby IDNA implementation where invalid Punycode A-labels are decoded incorrectly by Addressable::IDNA.to_unicode. This causes the display_uri method to show misleading hostnames that differ from the actual host used in connections, potentially allowing an attacker controlling a domain to impersonate another host visually. The issue is fixed in version 2.9.1. The native IDNA implementation using libidn and the idn-ruby gem is not affected.
References
- github.com/sporkmonger/addressable/security/advisories/GHSA-9crm-g4mf-wc5j (opens in a new tab)
- github.com/sporkmonger/addressable/commit/b8a59cc0e03f8704f1d7c8122fc8f7ef8548362d (opens in a new tab)
- github.com/rubysec/ruby-advisory-db/blob/master/gems/addressable/GHSA-9crm-g4mf-wc5j.yml (opens in a new tab)
- github.com/sporkmonger/addressable (opens in a new tab)
- github.com/sporkmonger/addressable/releases/tag/addressable-2.9.1 (opens in a new tab)