CVE Vulnerabilities

CVE-2026-35611

Inefficient Regular Expression Complexity

Published: Apr 07, 2026 | Modified: Jun 17, 2026
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
6.5 MODERATE
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Ubuntu
MEDIUM
root.io logo minimus.io logo echo.ai logo

Addressable is an alternative implementation to the URI implementation that is part of Rubys 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.

Weakness

The product uses a regular expression with a worst-case computational complexity that is inefficient and possibly exponential.

Affected Software

NameVendorStart VersionEnd Version
AddressableAddressable_project2.3.0 (including)2.9.0 (excluding)
Ruby-addressableUbuntuesm-apps-legacy/xenial*
Ruby-addressableUbuntuesm-apps/bionic*
Ruby-addressableUbuntuesm-apps/focal*
Ruby-addressableUbuntuesm-apps/jammy*
Ruby-addressableUbuntuesm-apps/noble*
Ruby-addressableUbuntuesm-apps/resolute*
Ruby-addressableUbuntuesm-apps/xenial*
Ruby-addressableUbuntujammy*
Ruby-addressableUbuntunoble*
Ruby-addressableUbuntuquesting*
Ruby-addressableUbunturesolute*

Potential Mitigations

References