Description
Addressable is an alternative implementation to the URI implementation that is part of Ruby's standard library. From 2.3.0 until 2.9.1, URI templates with several variables in one expression or several adjacent expressions generate ambiguous regular expressions. Affected forms include multi-variable expressions using operators other than plus and number sign, large plus or number-sign expressions, and adjacent single-variable expressions. Template#match or Template#extract can backtrack polynomially or exponentially on attacker-controlled URIs, causing denial of service on MRI Ruby before 3.2 and JRuby, with the large plus and number-sign form also affecting MRI Ruby 3.2 and TruffleRuby 40.0. URI parsing and Template#expand are unaffected. This issue is fixed in version 2.9.1.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| sporkmonger | addressable | >= 2.3.0, < 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.
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | logstash-9.3 +1 | 9.3.8-r4 | — |
| Wolfi rolling | logstash-9.4 +4 | No fix yet | — |
| Wolfi rolling | logstash-9.4-iamguarded-compat | 9.4.9-r3 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | addressable | >= 2.3.0, < 2.9.1 | 2.9.1 | GHSA-9f42-57jx-vpp3 |