CVSS3
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
NONE
Integrity Impact
NONE
Availability Impact
LOW
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
AI Score
Confidence
High
The NPM package micromatch
prior to version 4.0.8 is vulnerable to Regular Expression Denial of Service (ReDoS). The vulnerability occurs in micromatch.braces()
in index.js
because the pattern .*
will greedily match anything. By passing a malicious payload, the pattern matching will keep backtracking to the input while it doesn’t find the closing bracket. As the input size increases, the consumption time will also increase until it causes the application to hang or slow down. There was a merged fix but further testing shows the issue persisted prior to https://github.com/micromatch/micromatch/pull/266. This issue should be mitigated by using a safe pattern that won’t start backtracking the regular expression due to greedy matching.
Vendor | Product | Version | CPE |
---|---|---|---|
* | micromatch | * | cpe:2.3:a:*:micromatch:*:*:*:*:*:*:*:* |
advisory.checkmarx.net/advisory/CVE-2024-4067
devhub.checkmarx.com/cve-details/CVE-2024-4067
github.com/advisories/GHSA-952p-6rrq-rcjv
github.com/micromatch/micromatch/blob/2c56a8604b68c1099e7bc0f807ce0865a339747a/index.js#L448
github.com/micromatch/micromatch/commit/03aa8052171e878897eee5d7bb2ae0ae83ec2ade
github.com/micromatch/micromatch/commit/500d5d6f42f0e8dfa1cb5464c6cb420b1b6aaaa0
github.com/micromatch/micromatch/issues/243
github.com/micromatch/micromatch/pull/247
github.com/micromatch/micromatch/pull/266
github.com/micromatch/micromatch/releases/tag/4.0.8
nvd.nist.gov/vuln/detail/CVE-2024-4067