Привет! Я недавно скачал официальный Docker-образ Discourse и проанализировал его с помощью Trivy (сканер безопасности и уязвимостей). Результат показал несколько уязвимостей:
$ trivy image --vuln-type library discourse/base:release
...
Node.js (node-pkg)
Всего: 19 (UNKNOWN: 0, LOW: 1, MEDIUM: 1, HIGH: 15, CRITICAL: 2)
┌─────────────────────────────────────┬─────────────────────┬──────────┬───────────────────┬────────────────────────────┬──────────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Installed Version │ Fixed Version │ Title │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ ansi-html (package.json) │ CVE-2021-23424 │ HIGH │ 0.0.7 │ 0.0.8 │ nodejs-ansi-html: ReDoS через специально сформированную строку │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-23424 │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ ansi-regex (package.json) │ CVE-2021-3807 │ │ 3.0.0 │ 3.0.1, 4.1.1, 5.0.1, 6.0.1 │ nodejs-ansi-regex: Отказ в обслуживании регулярного выражения │
│ │ │ │ │ │ (ReDoS) при сопоставлении ANSI-escape-кодов │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-3807 │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ ├───────────────────┤ │ │
│ │ │ │ 4.1.0 │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ clean-css (package.json) │ GHSA-wxhq-pm8v-cw75 │ LOW │ 3.4.28 │ 4.1.11 │ Отказ в обслуживании регулярного выражения в clean-css │
│ │ │ │ │ │ https://github.com/advisories/GHSA-wxhq-pm8v-cw75 │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ engine.io (package.json) │ CVE-2023-31125 │ MEDIUM │ 6.2.1 │ 6.4.2 │ Необработанное исключение в engine.io │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2023-31125 │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ http-cache-semantics (package.json) │ CVE-2022-25881 │ HIGH │ 4.1.0 │ 4.1.1 │ Уязвимость отказа в обслуживании регулярного выражения (ReDoS) │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-25881 │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ json5 (package.json) │ CVE-2022-46175 │ │ 0.5.1 │ 1.0.2, 2.2.2 │ json5: Загрязнение прототипа в JSON5 через метод Parse │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-46175 │
│ │ │ ├───────────────────┤ │ │
│ │ │ │ 1.0.1 │ │ │
│ │ │ │ │ │ │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ loader-utils (package.json) │ CVE-2022-37601 │ CRITICAL │ 2.0.2 │ 1.4.1, 2.0.3 │ loader-utils: загрязнение прототипа в функции parseQuery в │
│ │ │ │ │ │ parseQuery.js │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-37601 │
│ ├─────────────────────┼──────────┤ ├────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2022-37599 │ HIGH │ │ 3.2.1, 2.0.4, 1.4.2 │ Обнаружена уязвимость отказа в обслуживании регулярного выражения (ReDoS) в Funct... │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-37599 │
│ ├─────────────────────┤ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2022-37603 │ │ │ │ loader-utils: отказ в обслуживании регулярного выражения │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-37603 │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ minimatch (package.json) │ CVE-2016-10540 │ │ 0.2.14 │ 3.0.2 │ Minimatch — утилита минимального сопоставления, работающая путем │
│ │ │ │ │ │ преобразования glob ... │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2016-10540 │
│ ├─────────────────────┤ │ ├────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ │ CVE-2022-3517 │ │ │ 3.0.5 │ ReDoS через функцию braceExpand │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2022-3517 │
│ ├─────────────────────┤ │ ├────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ │ NSWG-ECO-118 │ │ │ >=3.0.2 │ Отказ в обслуживании регулярного выражения │
├─────────────────────────────────────┼─────────────────────┤ ├───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ taffydb (package.json) │ CVE-2019-10790 │ │ 2.6.2 │ │ TaffyDB может позволить доступ к любым элементам данных в БД │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2019-10790 │
│ │ │ ├───────────────────┼────────────────────────────┤ │
│ │ │ │ 2.7.3 │ │ │
│ │ │ │ │ │ │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ underscore (package.json) │ CVE-2021-23358 │ CRITICAL │ 1.3.3 │ 1.12.1 │ nodejs-underscore: произвольное выполнение кода через функцию template │
│ │ │ │ │ │ function │
│ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2021-23358 │
└─────────────────────────────────────┴─────────────────────┴──────────┴───────────────────┴────────────────────────────┴──────────────────────────────────────────────────────────────┘
2023-05-16T18:33:20.715+0200 INFO Результат таблицы включает только имена файлов пакетов. Используйте опцию '--format json' для получения полного пути к файлу пакета.
...
Это выдержка из списка сообщаемых уязвимостей; полный список включает более 20:
CVE-2015-9284, CVE-2016-10540, CVE-2019-10790, CVE-2020-26235, CVE-2021-23358, CVE-2021-23424, CVE-2021-32810, CVE-2021-3807, CVE-2022-23639, CVE-2022-24713, CVE-2022-25881, CVE-2022-32149, CVE-2022-3517, CVE-2022-37599, CVE-2022-37601, CVE-2022-37603, CVE-2022-46175, CVE-2023-31125, GHSA-2qv5-7mw5-j3cg, GHSA-f85w-wvc7-crwc, GHSA-mc8h-8q98-g5hr, GHSA-rc23-xxgq-x27g, GHSA-wxhq-pm8v-cw75, NSWG-ECO-118
Каков статус по этим уязвимостям? Планируете ли вы устранить их в предстоящем выпуске?
Заранее большое спасибо!