CVE-2024-4068

The NPM package `braces`, versions prior to 3.0.3, fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. In `lib/parse.js,` if a malicious user sends "imbalanced braces" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash.
CVSS

No CVSS.

Configurations

Configuration 1 (hide)

cpe:2.3:a:jonschlinkert:braces:*:*:*:*:node.js:*:*:*

History

04 Aug 2025, 14:26

Type Values Removed Values Added
First Time Jonschlinkert
Jonschlinkert braces
CPE cpe:2.3:a:jonschlinkert:braces:*:*:*:*:node.js:*:*:*
References () https://github.com/micromatch/braces/pull/40 - () https://github.com/micromatch/braces/pull/40 - Issue Tracking, Patch
References () https://devhub.checkmarx.com/cve-details/CVE-2024-4068/ - () https://devhub.checkmarx.com/cve-details/CVE-2024-4068/ - Third Party Advisory
References () https://github.com/micromatch/braces/commit/415d660c3002d1ab7e63dbf490c9851da80596ff - () https://github.com/micromatch/braces/commit/415d660c3002d1ab7e63dbf490c9851da80596ff - Patch
References () https://github.com/micromatch/braces/issues/35 - () https://github.com/micromatch/braces/issues/35 - Issue Tracking
References () https://github.com/micromatch/braces/pull/37 - () https://github.com/micromatch/braces/pull/37 - Exploit, Issue Tracking, Patch

22 May 2024, 12:15

Type Values Removed Values Added
References
  • {'url': 'https://github.com/micromatch/braces/blob/98414f9f1fabe021736e26836d8306d5de747e0d/lib/parse.js#L308', 'name': 'https://github.com/micromatch/braces/blob/98414f9f1fabe021736e26836d8306d5de747e0d/lib/parse.js#L308', 'tags': [], 'refsource': ''}
  • () https://github.com/micromatch/braces/pull/37 -
  • () https://github.com/micromatch/braces/commit/415d660c3002d1ab7e63dbf490c9851da80596ff -
  • () https://github.com/micromatch/braces/pull/40 -
Summary The NPM package `braces` fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. In `lib/parse.js,` if a malicious user sends "imbalanced braces" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash. The NPM package `braces`, versions prior to 3.0.3, fails to limit the number of characters it can handle, which could lead to Memory Exhaustion. In `lib/parse.js,` if a malicious user sends "imbalanced braces" as input, the parsing will enter a loop, which will cause the program to start allocating heap memory without freeing it at any moment of the loop. Eventually, the JavaScript heap limit is reached, and the program will crash.

14 May 2024, 16:11

Type Values Removed Values Added
New CVE

Information

Published : 2024-05-14 15:42

Updated : 2025-08-04 14:26


NVD link : CVE-2024-4068

Mitre link : CVE-2024-4068


JSON object : View

Products Affected

jonschlinkert

  • braces
CWE

No CWE.