MEDIUMCVSS v3.1 4.3Vulnerability

CVE-2026-126348

### Impact `Addressable::IDNA.to_unicode`, 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#display_uri` uses `to_unicode`, so for `https://xn--google-.example.org/` it displays the host `google.example.org`, while `#host`, `#normalized_host` 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 `to_unicode` 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. `to_ascii` and `normalized_host` are not affected. ### Affected Versions This vulnerability affects Addressable >= 2.0.0, the first version with the pure-Ruby IDNA implementation, when that implementation is in use. It is fixed in 2.9.1, where such labels are returned unchanged, as with libidn. ### Workarounds - Install libidn and the `idn-ruby` gem, so that Addressable uses the native IDNA implementation. - Don't make security decisions on `display_uri` or `to_unicode` output. Compare hosts using `normalized_host`. ### Credits Reported by @tonghuaroot. ### For more information If there are any questions or comments about this advisory: * [Open an issue](https://github.com/sporkmonger/addressable/issues)

Properties

Summary
Addressable display_uri can show misleading hosts with invalid Punycode A-labels
Severity
medium
Nvd fetched at
2026-11-14T00:40:25.638091+00:00
Epss score
0.00274
Cvss score
4.3
Cvss severity
MEDIUM
Retrieved at
2026-11-14T00:51:03+00:00
Ghsa published
2026-11-12T22:44:57Z
Source url
https://github.com/advisories/GHSA-9crm-g4mf-wc5j
Ghsa updated
2026-11-12T22:44:58Z
Ghsa id
GHSA-9crm-g4mf-wc5j
Last source
FIRST EPSS
Score
4.3
Cvss version
3.1
Cve id
CVE-2026-126348
Cvss vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N
First seen by Signal
2026-11-13T00:03:24+00:00
Name
CVE-2026-126348
Is ghsa only
false
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N

Related Entities (4)

AFFECTS (1)

VULNERABLE_TO (1)

Related research

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-126348 (CVSS v3.1 4.3) — Ninja Signal Threat Intelligence | Ninja Signal