p PatchFirst

GHSA-xffm-g5w8-qvg7

GHSA-xffm-g5w8-qvg7 · @eslint/plugin-kit is vulnerable to Regular Expression Denial of Service attacks through ConfigCommentParser

CVSS 2.3 · Низкий · Есть исправление

Затронуты ли вы?

Как узнать установленную версию:

npm ls @eslint/plugin-kit

Бесплатная проверка подсветит, требует ли внимания @eslint/plugin-kit и остальные зависимости: проверьте lock-файл проекта или весь сервер командой ниже. Без регистрации. Номера CVE, версии исправлений и рекомендации — в платном мониторинге.

curl -fsSL https://ru.patchfirst.dev/check.sh | sh
Проверить зависимости бесплатно →

Здесь приведены факты из открытых источников об уязвимостях. Перед обновлением ознакомьтесь с исходным сообщением.

### 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](https://github.com/eslint/rewrite/blob/bd4bf23c59f0e4886df671cdebd5abaeb1e0d916/packages/plugin-kit/src/config-comment-parser.js#L158) 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/plugin-kit@0.3.3` 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.

Опубликовано
Обновлено

Стек: node

Затронутые продукты и версии

  • @eslint/plugin-kit npm

    Затронутые диапазоны версий
    • SEMVER: < 0.3.4

    Обновитесь до 0.3.4

Первоисточники

Проверьте свой сервер →