Skip to content
OpenAdvisories

Description

Addressable is an alternative implementation to the URI implementation that is part of Ruby's standard library. Prior to 2.9.1, Addressable::URI.normalize_path repeatedly scans and rewrites paths while removing only one nested dot segment per pass, producing quadratic work. URI#normalize, URI#normalized_path, URI#join, URI#==, and URI#=== inherit the behavior, so processing a sufficiently long attacker-controlled URI can consume a worker thread and cause denial of service on every Ruby implementation. URI.parse alone and code that never normalizes, compares, or joins untrusted URIs are unaffected. This issue is fixed in version 2.9.1.

Affected products

VendorProductAffectedFixed
sporkmonger addressable < 2.9.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 26.10 ruby-addressable No fix yet —
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS ruby-addressable No fix yet —
Ubuntu Pro 24.04 LTS ruby-addressable No fix yet —
Ubuntu Pro 22.04 LTS ruby-addressable No fix yet —
Ubuntu Pro 20.04 LTS ruby-addressable No fix yet —
Ubuntu Pro 18.04 LTS ruby-addressable No fix yet —
Ubuntu Pro 16.04 LTS ruby-addressable No fix yet —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 rubygem-addressable No fix yet —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling logstash-9.3 +1 9.3.8-r4 —
Wolfi rolling logstash-9.4 +1 9.4.9-r3 —
Wolfi rolling ruby3.4-kube-logging-operator-fluentd-outputs +3 No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems addressable < 2.9.1 2.9.1 GHSA-qq38-m9mg-xjj5

References