官方Docker镜像中的漏洞

你好!我最近拉取了官方的 Discourse Docker 镜像,并使用 Trivy(一款安全与漏洞扫描工具)对其进行了分析。结果显示存在多个漏洞:

$ trivy image --vuln-type library discourse/base:release
...
Node.js (node-pkg)

总计:19 个(未知:0,低危:1,中危:1,高危:15,严重:2)

┌─────────────────────────────────────┬─────────────────────┬──────────┬───────────────────┬────────────────────────────┬──────────────────────────────────────────────────────────────┐
│               库                    │      漏洞 ID        │  严重性  │    已安装版本     │       修复版本             │                            标题                             │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ ansi-html (package.json)            │ CVE-2021-23424      │  高危    │ 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 │
│                                     │                     │          │                   │                            │ 转义码                                                       │
│                                     │                     │          │                   │ https://avd.aquasec.com/nvd/cve-2021-3807                    │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │ 4.1.0             │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ clean-css (package.json)            │ GHSA-wxhq-pm8v-cw75 │  低危    │ 3.4.28            │ 4.1.11                     │ clean-css 中的正则表达式拒绝服务攻击                         │
│                                     │                     │          │                   │ https://github.com/advisories/GHSA-wxhq-pm8v-cw75            │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ engine.io (package.json)            │ CVE-2023-31125      │  中危    │ 6.2.1             │ 6.4.2                      │ engine.io 中未捕获的异常                                     │
│                                     │                     │          │                   │ https://avd.aquasec.com/nvd/cve-2023-31125                   │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ http-cache-semantics (package.json) │ CVE-2022-25881      │  高危    │ 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 原型污染                     │
│                                     │                     │          │                   │ https://avd.aquasec.com/nvd/cve-2022-46175                   │
│                                     │                     │          ├───────────────────┤                            │                                                              │
│                                     │                     │          │ 1.0.1             │                            │                                                              │
│                                     │                     │          │                   │                            │                                                              │
├─────────────────────────────────────┼─────────────────────┼──────────┼───────────────────┼────────────────────────────┼──────────────────────────────────────────────────────────────┤
│ loader-utils (package.json)         │ CVE-2022-37601      │  严重    │ 2.0.2             │ 1.4.1, 2.0.3               │ loader-utils:parseQuery.js 中 parseQuery 函数的原型污染     │
│                                     │                     │          │                   │ https://avd.aquasec.com/nvd/cve-2022-37601                   │
│                                     ├─────────────────────┼──────────┤                   ├────────────────────────────┼──────────────────────────────────────────────────────────────┤
│                                     │ CVE-2022-37599      │  高危    │                   │ 3.2.1, 2.0.4, 1.4.2        │ 在 Funct...中发现正则表达式拒绝服务攻击(ReDoS)漏洞         │
│                                     │                     │          │                   │ 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                      │ 通过 braceExpand 函数导致的 ReDoS                            │
│                                     │                     │          │                   │ 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      │  严重    │ 1.3.3             │ 1.12.1                     │ nodejs-underscore:通过模板函数执行任意代码                  │
│                                     │                     │          │                   │ 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

这些漏洞目前的处理状态如何?你们是否计划在即将到来的版本中修复这些漏洞?

提前非常感谢!

您好 @jcarmona,我们自己的工具也发现了这些“易受攻击”的 NPM 包。绝大多数都与构建/开发工具相关。对于 Discourse 客户端 JavaScript 应用程序的传递性依赖的少数几个,我们确信这些漏洞是不可利用的。

话虽如此,我们一直在努力升级我们的依赖项,因此我们希望在不久的将来全部升级它们。