CVE Catalog

CVE-2026-116795

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.47%

40th percentile - higher than 40% of all known CVEs

Summary

In RE2JS, enabling LOOKBEHINDS and using repeated matching through matcher().find(), matchAll(), split(), or matcher().replaceAll() can cause quadratic total work. Machine.match restarts lookbehind scanning from offset zero for each start position, and Matcher-based APIs request capture slots that prevent early exit, allowing attacker-influenced text to monopolize a single-threaded worker and deny service. This is fixed in 2.8.7.

Risk Assessment

Potential denial of service (DoS) by exhausting CPU time of a single-threaded worker processing untrusted regular expressions. Risk applies to services processing user-controlled text with RE2JS.

Recommendation

Update RE2JS to version 2.8.7 or later. Consider limiting or isolating processing of untrusted regular expression patterns.

Related vulnerabilities

Original NVD description (English source)

RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching. From 2.2.0 until 2.8.7, enabling LOOKBEHINDS and using repeated matching through matcher().find(), matchAll(), split(), or matcher().replaceAll() can cause quadratic total work. Machine.match restarts lookbehind scanning from offset zero for each requested start position, while Matcher-based APIs request capture slots that prevent the early exit used for captureless matching. Dense matches therefore repeatedly rescan the input, allowing attacker-influenced text to monopolize a single-threaded worker and deny service. This issue is fixed in version 2.8.7.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS