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

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, addressable (RubyGems). Vendors: Addressable, 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

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.