CVE-2026-27904
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions
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.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
minimatch
- Vendor
- isaacs
- Product
- minimatch
- Platforms
- Unknown
- Default status
Unknown
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| >= 10.0.0, < 10.2.3 | affected | Unavailable | Unavailable | Unavailable | None listed |
| >= 9.0.0, < 9.0.7 | affected | Unavailable | Unavailable | Unavailable | None listed |
| >= 8.0.0, < 8.0.6 | affected | Unavailable | Unavailable | Unavailable | None listed |
| >= 7.0.0, < 7.4.8 | affected | Unavailable | Unavailable | Unavailable | None listed |
| >= 6.0.0, < 6.2.2 | affected | Unavailable | Unavailable | Unavailable | None listed |
| >= 5.0.0, < 5.1.8 | affected | Unavailable | Unavailable | Unavailable | None listed |
| >= 4.0.0, < 4.2.5 | affected | Unavailable | Unavailable | Unavailable | None listed |
| < 3.1.4 | affected | Unavailable | Unavailable | Unavailable | None listed |