5.3
MEDIUM CVSS 3.1
CVE-2024-4067
"Micromatch RegExp Denial of Service (ReDoS)"
Description

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.

INFO

Published Date :

May 14, 2024, 3:42 p.m.

Last Modified :

Aug. 4, 2025, 2:36 p.m.

Remotely Exploit :

Yes !

Source :

596c5446-0ce5-4ba2-aa66-48b3b757a647
Affected Products

The following products are affected by CVE-2024-4067 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Jonschlinkert micromatch
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 3.1 MEDIUM 596c5446-0ce5-4ba2-aa66-48b3b757a647
CVSS 3.1 MEDIUM [email protected]
Solution
Update vulnerable micromatch and dependent packages to remediate the ReDoS vulnerability.
  • Update micromatch packages to version 4.0.8 or later.
  • Update affected pgadmin4 packages.
  • Update the affected yarnpkg package.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2024-4067 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2024-4067 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2024-4067 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2024-4067 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • Initial Analysis by [email protected]

    Aug. 04, 2025

    Action Type Old Value New Value
    Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
    Added CPE Configuration OR *cpe:2.3:a:jonschlinkert:micromatch:*:*:*:*:*:node.js:*:* versions up to (excluding) 4.0.8
    Added Reference Type Checkmarx: https://advisory.checkmarx.net/advisory/CVE-2024-4067/ Types: Exploit, Third Party Advisory
    Added Reference Type CVE: https://devhub.checkmarx.com/cve-details/CVE-2024-4067/ Types: Third Party Advisory
    Added Reference Type Checkmarx: https://devhub.checkmarx.com/cve-details/CVE-2024-4067/ Types: Third Party Advisory
    Added Reference Type CVE: https://github.com/micromatch/micromatch/blob/2c56a8604b68c1099e7bc0f807ce0865a339747a/index.js#L448 Types: Product
    Added Reference Type Checkmarx: https://github.com/micromatch/micromatch/commit/03aa8052171e878897eee5d7bb2ae0ae83ec2ade Types: Patch
    Added Reference Type CVE: https://github.com/micromatch/micromatch/issues/243 Types: Issue Tracking
    Added Reference Type CVE: https://github.com/micromatch/micromatch/pull/247 Types: Issue Tracking, Patch
    Added Reference Type Checkmarx: https://github.com/micromatch/micromatch/pull/266 Types: Issue Tracking, Patch
    Added Reference Type Checkmarx: https://github.com/micromatch/micromatch/releases/tag/4.0.8 Types: Release Notes
  • CVE Modified by af854a3a-2127-422b-91ae-364da2661108

    Nov. 21, 2024

    Action Type Old Value New Value
    Added Reference https://devhub.checkmarx.com/cve-details/CVE-2024-4067/
    Added Reference https://github.com/micromatch/micromatch/blob/2c56a8604b68c1099e7bc0f807ce0865a339747a/index.js#L448
    Added Reference https://github.com/micromatch/micromatch/issues/243
    Added Reference https://github.com/micromatch/micromatch/pull/247
  • CVE Modified by 596c5446-0ce5-4ba2-aa66-48b3b757a647

    Aug. 28, 2024

    Action Type Old Value New Value
    Changed 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.
    Added Reference Checkmarx https://github.com/micromatch/micromatch/pull/266 [No types assigned]
    Added Reference Checkmarx https://github.com/micromatch/micromatch/commit/03aa8052171e878897eee5d7bb2ae0ae83ec2ade [No types assigned]
    Added Reference Checkmarx https://github.com/micromatch/micromatch/releases/tag/4.0.8 [No types assigned]
    Added Reference Checkmarx https://advisory.checkmarx.net/advisory/CVE-2024-4067/ [No types assigned]
    Removed Reference Checkmarx https://github.com/micromatch/micromatch/blob/2c56a8604b68c1099e7bc0f807ce0865a339747a/index.js#L448
    Removed Reference Checkmarx https://github.com/micromatch/micromatch/issues/243
    Removed Reference Checkmarx https://github.com/micromatch/micromatch/pull/247
  • CVE Modified by 596c5446-0ce5-4ba2-aa66-48b3b757a647

    May. 22, 2024

    Action Type Old Value New Value
    Changed 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` 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.
    Removed CVSS V3.1 Checkmarx AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
    Added CVSS V3.1 Checkmarx AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
  • CVE Received by 596c5446-0ce5-4ba2-aa66-48b3b757a647

    May. 14, 2024

    Action Type Old Value New Value
    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.
    Added Reference Checkmarx https://github.com/micromatch/micromatch/blob/2c56a8604b68c1099e7bc0f807ce0865a339747a/index.js#L448 [No types assigned]
    Added Reference Checkmarx https://github.com/micromatch/micromatch/issues/243 [No types assigned]
    Added Reference Checkmarx https://github.com/micromatch/micromatch/pull/247 [No types assigned]
    Added Reference Checkmarx https://devhub.checkmarx.com/cve-details/CVE-2024-4067/ [No types assigned]
    Added CWE Checkmarx CWE-1333
    Added CVSS V3.1 Checkmarx AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.
Vulnerability Scoring Details
Base CVSS Score: 5.3
Attack Vector
Attack Complexity
Privileges Required
User Interaction
Scope
Confidentiality Impact
Integrity Impact
Availability Impact