CVE-2026-27904

minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Prior to version 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.4, nested `*()` extglobs produce regexps with nested unbounded quantifiers (e.g. `(?:(?:a|b)*)*`), which exhibit catastrophic backtracking in V8. With a 12-byte pattern `*(*(*(a|b)))` and an 18-byte non-matching input, `minimatch()` stalls for over 7 seconds. Adding a single nesting level or a few input characters pushes this to minutes. This is the most severe finding: it is triggered by the default `minimatch()` API with no special options, and the minimum viable pattern is only 12 bytes. The same issue affects `+()` extglobs equally. Versions 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5, and 3.1.4 fix the issue.
References
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*

History

17 Jun 2026, 10:27

Type Values Removed Values Added
Summary
  • (es) minimatch es una utilidad de coincidencia mínima para convertir expresiones glob en objetos RegExp de JavaScript. Antes de las versiones 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5 y 3.1.4, los extglobs anidados '*( )' producen regexps con cuantificadores anidados ilimitados (por ejemplo, '(?:(?:a|b)*)*'), que exhiben retroceso catastrófico en V8. Con un patrón de 12 bytes '*(*(*(a|b)))' y una entrada no coincidente de 18 bytes, 'minimatch()' se detiene durante más de 7 segundos. Añadir un solo nivel de anidamiento o unos pocos caracteres de entrada eleva esto a minutos. Este es el hallazgo más grave: se activa por la API predeterminada de 'minimatch()' sin opciones especiales, y el patrón mínimo viable es de solo 12 bytes. El mismo problema afecta a los extglobs '+()' por igual. Las versiones 10.2.3, 9.0.7, 8.0.6, 7.4.8, 6.2.2, 5.1.8, 4.2.5 y 3.1.4 solucionan el problema.

27 Feb 2026, 17:16

Type Values Removed Values Added
CPE cpe:2.3:a:minimatch_project:minimatch:*:*:*:*:*:node.js:*:*
First Time Minimatch Project
Minimatch Project minimatch
References () https://github.com/isaacs/minimatch/security/advisories/GHSA-23c5-xmqv-rm74 - () https://github.com/isaacs/minimatch/security/advisories/GHSA-23c5-xmqv-rm74 - Exploit, Vendor Advisory

26 Feb 2026, 02:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-26 02:16

Updated : 2026-06-17 10:27


NVD link : CVE-2026-27904

Mitre link : CVE-2026-27904

CVE.ORG link : CVE-2026-27904


JSON object : View

Products Affected

minimatch_project

  • minimatch
CWE
CWE-1333

Inefficient Regular Expression Complexity