The NPM package `micromatch` prior to 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 persists. This issue should be mitigated by using a safe pattern that won't start backtracking the regular expression due to greedy matching. This issue was fixed in version 4.0.8.
History

Tue, 17 Sep 2024 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Micromatch
Micromatch micromatch
CPEs cpe:2.3:a:micromatch:micromatch:*:*:*:*:*:*:*:*
Vendors & Products Micromatch
Micromatch micromatch
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 06 Sep 2024 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Redhat
Redhat service Mesh
CPEs cpe:/a:redhat:service_mesh:2.6::el8
cpe:/a:redhat:service_mesh:2.6::el9
Vendors & Products Redhat
Redhat service Mesh

Tue, 27 Aug 2024 23:30:00 +0000

Type Values Removed Values Added
Description The NPM package `micromatch` 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 persists. This issue should be mitigated by using a safe pattern that won't start backtracking the regular expression due to greedy matching. The NPM package `micromatch` prior to 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 persists. This issue should be mitigated by using a safe pattern that won't start backtracking the regular expression due to greedy matching. This issue was fixed in version 4.0.8.
References

cve-icon MITRE

Status: PUBLISHED

Assigner: Checkmarx

Published: 2024-05-13T10:04:42.886Z

Updated: 2024-09-17T19:47:41.783Z

Reserved: 2024-04-23T13:31:13.656Z

Link: CVE-2024-4067

cve-icon Vulnrichment

Updated: 2024-08-01T20:26:57.389Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2024-05-14T15:42:47.947

Modified: 2024-08-28T00:15:04.130

Link: CVE-2024-4067

cve-icon Redhat

Severity : Moderate

Publid Date: 2023-12-12T00:00:00Z

Links: CVE-2024-4067 - Bugzilla