CVE-2026-126354 Addressable URI normalization resolves some dotted path segments to the wrong path
Applications using Addressable normalization for authorization but sending original URIs may allow access outside the intended path allowlist.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Harmful if only installed
- No
- Needs a specific call
- Yes
- Fix
- Available
What is CVE-2026-126354?
CVE-2026-126354 is a medium-severity path traversal vulnerability in sporkmonger addressable, published on 12 Nov 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Addressable is an alternative implementation to the URI implementation that is part of Ruby's standard library. From 2.2.5 until 2.9.1, Addressable::URI.normalize_path can resolve a path containing leading parent segments and later parent segments to a different path than an RFC 3986 resolver. URI#normalize, URI#join, URI#==, and URI#=== inherit the result. An application that authorizes the Addressable-normalized path but sends the original URI to another resolver can allow access outside the intended path allowlist. Applications that use the same normalized value for authorization and the request, or reject parent segments, are unaffected. This issue is fixed in version 2.9.1.
Which versions are affected by CVE-2026-126354?
1 open source package ship an affected version, including addressable.
An affected version is only exploitable if your software calls Addressable::URI.normalize_path, URI#normalize or URI#join. Many projects that include it are not exposed.
| Package | Affected | Fixed in |
|---|---|---|
addressable RubyGems | From 2.2.5 | 2.9.1 |
How do I fix CVE-2026-126354?
Upgrade addressable to 2.9.1 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-126354 being exploited?
There is no known exploitation of CVE-2026-126354 in the wild and no public exploit code.
Sources
Also known as GHSA-8gmh-2hhj-2hv9.