CVE-2026-77299

LOWCVSS 7.5 · HIGH

Signal is active with 1 mentions in latest observed window

Immediate actions

  • Track advisory updates for patch or workaround availability

Recommended action window: Monitor and triage in normal cycle

NVD description

Regexp2 is a feature-rich RegExp engine for Go. Prior to version 2.3.0, when regexp2 compiles and matches a pattern containing a large fixed-count quantifier applied to a zero-width subexpression — e.g. (?:){50000000} — the match engine executes the empty loop body m-1 times, pushing two integers onto the backtracking stack on every iteration. Because the parser accepts any repetition count up to math.MaxInt32 and the backtracking stack grows without bound, a pattern of fewer than 20 bytes matched against an empty input can force multi-gigabyte allocation and OOM-kill the process. MatchTimeout does not fully mitigate this because the memory is allocated faster than the 100 ms timeout clock can fire. This issue has been patched in version 2.3.0.

0.0/ 10 priority

Sources & remediation

Weakness type (CWE)
CWE-400CWE-770

Priority

LOW

Exploitation

NONE

PoC

NONE

Patch

NONE

Momentum

NONE

Threat summary

  • 1 mentions across 1 observed day

What's happening

  • 1 total mentions across 1 day

Deep dive

Activity timeline1 mentions / 1d
00111Mentions · 2026-11-06: 111-06
Referenced assets1 URL
By indicator
Full discourse1 post
  • Upwind Security MDR@UpwindMDR

    🚨HIGH - Regexp2 Unbounded Memory DoS via Zero-Width Fixed Quantifier (CVE-2026-77299) Regexp2’s compiler/matcher can hit an empty-loop path when a large fixed-count quantifier is applied to a zero-width subexpression (e.g., (?:){50000000}), repeatedly growing the backtracking stack into multi-GB allocations. This triggers OOM/termination and can bypass MatchTimeout protections. 👉Affected: http://github.com/dlclark/regexp2 < 2.3.0 | Upgrade to 2.3.0

    0000073
    390 followersView on X

Explore more