CVE-2026-26996
published 2026-02-20CVE-2026-26996: minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects. Versions 10.2.0 and below are vulnerable to Regular…
PriorityP341high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
0.52%
40.1th percentile
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.
Affected
18 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | node-minimatch | < node-minimatch 9.0.7-1 (sid) | node-minimatch 9.0.7-1 (sid) |
| isaacs | minimatch | < 10.2.1 | 10.2.1 |
| minimatch_project | minimatch | >= 0 < 3.1.3 | 3.1.3 |
| minimatch_project | minimatch | >= 10.0.0 < 10.2.1 | 10.2.1 |
| minimatch_project | minimatch | >= 10.0.0 < 10.2.1 | 10.2.1 |
| minimatch_project | minimatch | >= 3.0.0 < 3.1.3 | 3.1.3 |
| minimatch_project | minimatch | >= 4.0.0 < 4.2.4 | 4.2.4 |
| minimatch_project | minimatch | >= 4.0.0 < 4.2.4 | 4.2.4 |
| minimatch_project | minimatch | >= 5.0.0 < 5.1.7 | 5.1.7 |
| minimatch_project | minimatch | >= 5.0.0 < 5.1.7 | 5.1.7 |
| minimatch_project | minimatch | >= 6.0.0 < 6.2.1 | 6.2.1 |
| minimatch_project | minimatch | >= 6.0.0 < 6.2.1 | 6.2.1 |
| minimatch_project | minimatch | >= 7.0.0 < 7.4.7 | 7.4.7 |
| minimatch_project | minimatch | >= 7.0.0 < 7.4.7 | 7.4.7 |
| minimatch_project | minimatch | >= 8.0.0 < 8.0.5 | 8.0.5 |
| minimatch_project | minimatch | >= 8.0.0 < 8.0.5 | 8.0.5 |
| minimatch_project | minimatch | >= 9.0.0 < 9.0.6 | 9.0.6 |
| minimatch_project | minimatch | >= 9.0.0 < 9.0.6 | 9.0.6 |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvdv4.08.7HIGHCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
osv8.7HIGH
vendor_debian8.7HIGH
vendor_redhat8.7HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
CVE-2026-26996: minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects
osv·2026-02-20·CVSS 8.7
CVE-2026-26996 [HIGH] CVE-2026-26996: minimatch is a minimal matching utility for converting glob expressions into JavaScript RegExp objects
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.
GHSA
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern
ghsa·2026-02-18
CVE-2026-26996 [HIGH] CWE-1333 minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern
### Summary
`minimatch` is 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.
### Details
_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._
### PoC
When minimatch compiles a glob patter
OSV
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern
osv·2026-02-18
CVE-2026-26996 [HIGH] minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern
### Summary
`minimatch` is 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.
### Details
_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._
### PoC
When minimatch compiles a glob patter
Red Hat
minimatch: minimatch: Denial of Service via specially crafted glob patterns
vendor_redhat·2026-02-20·CVSS 8.7
CVE-2026-26996 [HIGH] CWE-1333 minimatch: minimatch: Denial of Service via specially crafted glob patterns
minimatch: minimatch: Denial of Service via specially crafted glob patterns
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 argume
Debian
CVE-2026-26996: node-minimatch - minimatch is a minimal matching utility for converting glob expressions into Jav...
vendor_debian·2026·CVSS 8.7
CVE-2026-26996 [HIGH] CVE-2026-26996: node-minimatch - minimatch is a minimal matching utility for converting glob expressions into Jav...
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.
Scope:
No detection rules found.
No public exploits indexed.
Bugzilla
CVE-2026-26996 minimatch: minimatch: Denial of Service via specially crafted glob patterns
bugzilla·2026-02-20·CVSS 8.7
CVE-2026-26996 [HIGH] CVE-2026-26996 minimatch: minimatch: Denial of Service via specially crafted glob patterns
CVE-2026-26996 minimatch: minimatch: Denial of Service via specially crafted glob patterns
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
Wiz
CVE-2026-26996 Impact, Exploitability, and Mitigation Steps | Wiz
blogs_wiz·CVSS 8.7
CVE-2026-26996 [HIGH] CVE-2026-26996 Impact, Exploitability, and Mitigation Steps | Wiz
## CVE-2026-26996 :
JavaScript vulnerability analysis and mitigation
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 vu
2026-02-20
Published