CVE-2026-126353: Addressable: Regular Expression Denial of Service in Addressable templates with several exploded variables

Published Nov 12, 2026
·
Updated

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 template expressions containing several exploded variables generate ambiguous regular expressions that can divide a run of members among the variables in polynomially many ways. Template#match or Template#extract processing of an attacker-controlled URI can therefore consume a thread and cause denial of service. The flaw affects MRI Ruby before 3.2 and JRuby, TruffleRuby 40.0, and plus or number-sign expressions on MRI Ruby 3.2. MRI Ruby 3.3 and later, URI parsing, and Template#expand are unaffected. This issue is fixed in version 2.9.1.

Affected Software

1 affected component
rubygems/addressable>=2.3.0<2.9.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Addressable to a version that resolves this vulnerability.

    Fixed in 2.9.1

Event History

Nov 12, 2026
CVE Published
via MITRE·10:10 PM
Data Sourced
via MITRE·10:10 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·10:19 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which applications are exposed to this denial-of-service condition?

Applications using Addressable versions 2.3.0 through before 2.9.1 are exposed when they use Template#match or Template#extract on attacker-controlled URIs with template expressions containing several exploded variables. URI parsing and Template#expand are not affected.

2

Which Ruby runtimes and template expression types are affected?

MRI Ruby before 3.2, JRuby, and TruffleRuby 40.0 are affected. On MRI Ruby 3.2, the issue is limited to plus or number-sign expressions; MRI Ruby 3.3 and later are unaffected.

3

What must an attacker provide to trigger the issue?

An attacker must be able to supply a URI that the application processes through Template#match or Template#extract. Exploitation depends on a vulnerable template containing several exploded variables and can consume a thread through polynomially expensive regular-expression matching.

4

What version fixes the issue?

Addressable 2.9.1 fixes the issue.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203