NPM-cесюрити как новая форма DoS

У нас тут есть долгострой, в котором я решил обновить зависимости. Поскольку, с одной стороны, эти зависимости работают и не мешают, а с другой — если их не обновлять они погниют нахуй, и потом как сменится какая-то версия чего-то, они окончательно помрут и надо будет огромными силами как-то всё обновлять. В-общем надо бампить.
В ходе бампления ни чего иного, как AWS SDK v3, обнаружился сабж: в CI упал Snyk c сообщением ололо у вас тут уязвимость без известных патчей.
Уязвимость обнаружилась в...
Hoisted from "@aws-sdk#signature-v4-crt#aws-crt#cmake-js#yargs#string-width#strip-ansi"
Ну то есть, aws-crt имеет cmake-js в билд-зависимостях (!) которые используют парсер аргументов yargs который ещё через три зависимости использует уязвимый ansi-regex.
Ну и дальше они пальцем показывают по цепочке.
Snyk ReDoS issue in ansi-regex nested dependency · Issue #390 · awslabs/aws-crt-nodejs (github.com)
Snyk ReDoS issue in ansi-regex nested dependency · Issue #292 · cmake-js/cmake-js (github.com)
Бедный Pradeep. Надо бы ещё в yargs написать... а там есть уже
Policy: Addressing CVEs raised by old versions of yargs · Issue #1839 · yargs/yargs (github.com)
В-общем театр абсурда. Уязвимость минорная, но имеет высокий рейтинг из-за идиотизма в механизме рейтингов. yargs не хочет бекпортировать. cmake-js не может апгрейдить yargs. AWS не может апгрейдить cmake так как они энтерпрайз и надо поддерживать 10-ю ноду (на самом деле 12-ю).
А у меня сука CI красный (к счастью не в проде) из-за всей этой пидарасни вызванной... A lot of our packages are getting hit with "high" CVE vulnerability reports because a certain security firm that has jumped onto the scene within the last year or two keeps reporting them one-by-one, seemingly to milk bounty programs of money.
Upd: ох, вот уже до самого дна дошли. Патч там всего замена короткого регекспа на длинный.
Backport of security patch, for benefit of yargs · Issue #38 · chalk/ansi-regex (github.com)
|
</> |