# CVE-2026-126354: Addressable URI.normalize_path path traversal and bypass

Source: https://junglewise.ai/threats/cve-2026-126354-addressable-uri-normalization-resolves-some-dotted-path-segments  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-12. Updated: 2026-11-12  
License: CC BY 4.0 with a link back

CVE-2026-126354 · Severity: medium · CVSS 4.8 · Published 2026-11-12

Addressable is a Ruby library that normalizes and manipulates URIs according to web standards. Versions 2.2.5 through 2.9.0 contain a flaw in path normalization that can cause a path to be resolved differently than expected by other standard-compliant URI resolvers. An attacker can exploit this to bypass path-based access controls by crafting a malicious URI that normalizes to an allowed path but resolves to a restricted one when processed by other systems.

Technologies: [Addressable](https://junglewise.ai/threats/technologies/addressable-addressable), [addressable (RubyGems)](https://junglewise.ai/threats/technologies/addressable). Vendors: [Addressable](https://junglewise.ai/threats/vendors/addressable), [RubyGems](https://junglewise.ai/threats/vendors/rubygems).

## Quick answers

**Is CVE-2026-126354 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-126354 being exploited in the wild.

**How severe is CVE-2026-126354?** Medium severity, with a CVSS score of 4.8, published 12 November 2026.

**Which products and versions are affected?** Addressable 2.2.5 through 2.9.0; addressable (RubyGems) >= 2.2.5, < 2.9.1; Sporkmonger Addressable 2.2.5 to 2.9.0.

**Is there a fix for CVE-2026-126354?** Yes: fixed in 2.9.1. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-126354 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-126354?** Check whether you run Addressable, addressable (RubyGems) or Sporkmonger Addressable at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 2.9.1

## Technical details

Addressable::URI.normalize_path improperly handles consecutive parent directory references (..), allowing segments that should be removed to persist after a ".." that goes above the root. For example, "/../../public/x/../../secret" normalizes to "/public/x/secret" instead of "/secret". Additionally, literal newlines in paths are treated as segment boundaries, causing incorrect normalization. The vulnerability affects URI#normalize, URI#join, URI#==, and URI#===. The flaw only impacts applications that use the normalized path for authorization decisions but forward the unnormalized URI to another resolver.

## Affected products

- sporkmonger Addressable 2.2.5 to 2.9.0

## Identifiers

- CVE-2026-126354
- GHSA-8gmh-2hhj-2hv9

## Timeline

- 2026-11-12: disclosed

## References

- [https://github.com/sporkmonger/addressable/commit/25c7c412a2f7e06c3cac92872e831f6d053703c5](https://github.com/sporkmonger/addressable/commit/25c7c412a2f7e06c3cac92872e831f6d053703c5)
- [https://github.com/sporkmonger/addressable/releases/tag/addressable-2.9.1](https://github.com/sporkmonger/addressable/releases/tag/addressable-2.9.1)

## Related threats

- [Addressable URI template regular expression denial of service](https://junglewise.ai/threats/cve-2026-126353-addressable-is-an-alternative-implementation-to-the-uri)
- [Addressable URI template ReDoS denial of service](https://junglewise.ai/threats/cve-2026-126352-addressable-is-an-alternative-implementation-to-the-uri)
- [Addressable URI path normalization denial of service](https://junglewise.ai/threats/cve-2026-126351-addressable-is-an-alternative-implementation-to-the-uri)
- [Addressable regular expression denial of service in URI template matching](https://junglewise.ai/threats/cve-2026-126350-addressable-is-an-alternative-implementation-to-the-uri)
- [Addressable display_uri can show misleading hosts containing bidi and invisible characters](https://junglewise.ai/threats/cve-2026-126349-addressable-is-an-alternative-implementation-to-the-uri)
