CVE-2026-26996 PUBLISHED

minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern

Assigner: GitHub_M
Reserved: 17.02.2026 Published: 20.02.2026 Updated: 20.02.2026

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Versions 10.2.0 and below are vulnerable to Regular Expression Denial of Service (ReDoS) when a glob pattern contains many consecutive * wildcards followed by a literal character that doesn't appear in the test string. Each * compiles to a separate [^/]*? regex group, and when the match fails, V8's regex engine backtracks exponentially across all possible splits. The time complexity is O(4^N) where N is the number of * characters. With N=15, a single minimatch() call takes ~2 seconds. With N=34, it hangs effectively forever. Any application that passes user-controlled strings to minimatch() as the pattern argument is vulnerable to DoS. This issue has been fixed in version 10.2.1.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.7

Product Status

Vendor isaacs
Product minimatch
Versions
  • Version < 10.2.1 is affected

References

Problem Types

  • CWE-1333: Inefficient Regular Expression Complexity CWE