Skip to content
OpenAdvisories

Description

Addressable is an alternative implementation to the URI implementation that is part of Ruby's standard library. From 2.3.0 to before 2.9.0, within the URI template implementation in Addressable, two classes of URI template generate regular expressions vulnerable to catastrophic backtracking. Templates using the * (explode) modifier with any expansion operator (e.g., {foo*}, {+var*}, {#var*}, {/var*}, {.var*}, {;var*}, {?var*}, {&var*}) generate patterns with nested unbounded quantifiers that are O(2^n) when matched against a maliciously crafted URI. Templates using multiple variables with the + or # operators (e.g., {+v1,v2,v3}) generate patterns with O(n^k) complexity due to the comma separator being within the matched character class, causing ambiguous backtracking across k variables. When matched against a maliciously crafted URI, this can result in catastrophic backtracking and uncontrolled resource consumption, leading to denial of service. This vulnerability is fixed in 2.9.0.

Affected products

VendorProductAffectedFixed
sporkmonger addressable >= 2.3.0, < 2.9.0 —

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
Debian 14 ruby-addressable 2.9.0-1 —
Debian 13 ruby-addressable No fix yet —
Debian 12 ruby-addressable No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 ruby-addressable No fix yet —
Ubuntu 25.10 ruby-addressable No fix yet —
Show 6 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS ruby-addressable 2.8.7-2ubuntu0.26.04.1~esm1 USN-8515-1
Ubuntu Pro 24.04 LTS ruby-addressable 2.8.5-1ubuntu0.1~esm1 USN-8515-1
Ubuntu Pro 22.04 LTS ruby-addressable 2.8.0-3ubuntu0.1~esm1 USN-8515-1
Ubuntu Pro 20.04 LTS ruby-addressable 2.7.0-1ubuntu0.1~esm1 USN-8515-1
Ubuntu Pro 18.04 LTS ruby-addressable 2.5.2-1ubuntu0.1~esm1 USN-8515-1
Ubuntu Pro 16.04 LTS ruby-addressable 2.3.8-1ubuntu0.1~esm1 USN-8515-1
ReleasePackageFixed inAdvisory
Alpine v3.24 ruby-addressable 2.9.0-r0 —
Alpine v3.23 ruby-addressable 2.9.0-r0 —

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 rubygem-addressable 2.9.0-1 —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling cinc-auditor 7.0.107-r3 —
Wolfi rolling kube-fluentd-operator 1.18.2-r69 —
Wolfi rolling kube-logging-operator-fluentd-outputs 6.4.0-r11 —
Wolfi rolling logstash-9.3 +2 9.3.3-r2 —
Wolfi rolling ruby3.2-fluentd-kubernetes-daemonset-1.19-kinesis 1.19.2.1.1-r3 —
Wolfi rolling ruby3.3-fluentd-kubernetes-daemonset-1.19-kinesis +2 1.19.2.1.4-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems addressable >= 2.3.0, < 2.9.0 2.9.0 GHSA-h27x-rffw-24p4

Advisories 2

References