MEDIUMCVSS v3.1 5.9Vulnerability

CVE-2026-126352

### Impact Within the URI template implementation in Addressable, templates that put several variables in one expression generate regular expressions vulnerable to excessive backtracking: 1. Expressions with any operator other than `+` and `#` (e.g., `{/owner,repo,ref}`, `{.a,b}`, `{a,b,c}`, `{;a,b,c}`). The values are joined by an optional separator, so a run of characters can be divided among the variables in O(n^k) ways for k variables. 2. Expressions with the `+` or `#` operators and many variables (e.g., `{+v1,v2,v3,v4,v5,v6,v7,v8,v9,v10}`). A failing match is exponential in the number of variables. 3. Several single-variable expressions next to each other (e.g., `{+a}{+b}{+c}` or `{a}{b}{c}`), which are polynomial in the input length. When `Template#match` or `Template#extract` is called with a maliciously crafted URI, this can result in uncontrolled resource consumption, leading to denial of service. A three-variable path template such as `http://example.com/repos{/owner,repo,ref}` needs about 2 KB of input to occupy a thread for many seconds. Users of the URI parsing capabilities in Addressable but not the URI template matching capabilities are unaffected. Users who only call `Template#expand` are unaffected. ### Affected Versions This vulnerability affects Addressable >= 2.3.0 (note: 2.3.0 and 2.3.1 were yanked; the earliest installable release is 2.3.2), including 2.9.0. It is fixed in 2.9.1. The vulnerability is exploitable on Ruby implementations whose regular expression engine backtracks without memoization: MRI Ruby < 3.2 and JRuby. The second form, many-variable `+` and `#` expressions, is also exploitable on MRI Ruby 3.2, which does not memoize a regular expression that contains possessive quantifiers, and 2.9.0 generates those for these operators. It is also exploitable on TruffleRuby 40.0, whose regular expression engine falls back to backtracking for them. MRI Ruby 3.3 and later are not affected by any form, because they memoize those regul

Properties

Severity
medium
Summary
Addressable: Regular Expression Denial of Service in templates with multiple variables
Nvd fetched at
2026-11-14T00:40:25.638091+00:00
Epss score
0.0043
Cvss severity
MEDIUM
Cvss score
5.9
Retrieved at
2026-11-14T00:51:03+00:00
Ghsa published
2026-11-12T22:29:35Z
Source url
https://github.com/advisories/GHSA-9f42-57jx-vpp3
Ghsa updated
2026-11-12T22:30:31Z
Ghsa id
GHSA-9f42-57jx-vpp3
Last source
FIRST EPSS
Score
5.9
Cvss version
3.1
Cve id
CVE-2026-126352
Cvss vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
First seen by Signal
2026-11-13T00:03:24+00:00
Name
CVE-2026-126352
Is ghsa only
false
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Related Entities (3)

AFFECTS (1)

HAS_WEAKNESS (1)

VULNERABLE_TO (1)

Related research

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-126352 (CVSS v3.1 5.9) — Ninja Signal Threat Intelligence | Ninja Signal