CentOS 9:nodejs-16.16.0-1.el9

critical Nessus 插件 ID 191380

简介

远程 CentOS 主机缺少一个或多个 nodejs 相关安全性更新。

描述

远程 CentOS Linux 9 主机上安装的多个程序包受到 nodejs-16.16.0-1.el9 版本变更日志中提及的多个漏洞影响。

- npm CLI 6.14.6 之前版本容易受到通过日志文件造成的信息泄露漏洞的影响。CLI 支持如下 URL:<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>。密码值未编辑,而是被打印到 stdout 以及任何生成的日志文件中。(CVE-2020-15095)

- 低于 16.6.0、14.17.4 和 12.22.4 版本的 Node.js 容易受到远程代码执行、XSS、应用程序崩溃漏洞的影响,这是因为缺少对 Node.js dns 库中域名服务器返回的主机名的输入验证,这可导致使用该库的应用程序中存在错误主机名输出(导致域劫持)和注入漏洞。(CVE-2021-22931)

- 如果未正确使用 Node.js https API,并且为 rejectUnauthorized 参数传入了 undefined,则应用程序不会返回任何错误,且会接受与具有过期证书的服务器的连接。(CVE-2021-22939)

- 低于 16.6.1、14.17.5 和 12.22.5 版的 Node.js 容易受到释放后使用攻击,攻击者可能利用内存损坏来更改进程行为。(CVE-2021-22940)

- 解析器接受冒号前的标头名称后带有空格 (SP) 的请求。这可导致低于 2.1.4 版和 6.0.6 版的 llhttp 发生 HTTP 请求走私问题。(CVE-2021-22959)

- 在低于 2.1.4 版和 6.0.6 版的 llhttp 中,parse 函数会在解析分块请求正文时忽略区块扩展。在某些情况下,这会导致 HTTP 请求走私 (HRS)。(CVE-2021-22960)

- ssri 5.2.2-8.0.0 版会使用易受拒绝服务攻击的正则表达式处理 SRI,此问题已在 8.0.1 版中修正。恶意 SRI 可能需要很长时间来处理,从而会导致拒绝服务。此问题仅影响使用 strict 选项的用户。(CVE-2021-27290)

- ansi-regex 容易受到低效正则表达式复杂性的影响 (CVE-2021-3807)

- json-schema 容易受到受控不当修改对象原型属性(“Prototype Pollution”)的影响 (CVE-2021-3918)

- 即使 package-lock.json 中的依存关系信息与 package.json 不同,npm 7.x 和 8.x 至 8.1.3 版本中的 npm ci 命令也会继续处理安装。此行为与文档所述内容不一致,并使攻击者更容易安装本应被 package-lock.json 中版本完全符合的要求阻止的恶意软件。注意:npm 团队认为这不是漏洞。这需要有人通过社交工程入侵具有与 package-lock.json 不同的依存关系的 package.json。该用户必须要具有文件系统或写入权限才能更改依存关系。
npm 团队表示,防止恶意操作者进行社交工程入侵或获取文件系统访问权限超出了 npm CLI 的范围。(CVE-2021-43616)

- 接受任意使用者备用名称 (SAN) 类型(除非专门定义 PKI 以使用特定 SAN 类型)可导致绕过限制名称的中间体。Node.js < 12.22.9、< 14.18.3、< 16.13.2 及 < 17.3.1 的版本接受通常不会定义使用 PKI 的 URI SAN 类型。
此外,当协议允许 URI SAN 时,Node.js 未正确匹配 URI。具有此补丁的 Node.js 版本会在针对主机名检查证书时禁用 URI SAN 类型。此行为可通过 --security-revert 命令行选项恢复。 (CVE-2021-44531)

- Node.js < 12.22.9、< 14.18.3、< 16.13.2 及 < 17.3.1 的版本会将 SAN(使用者备用名称)转换为字符串格式。验证连接时,它会使用此字符串对照主机名检查对等证书。字符串格式会在证书链中使用名称限制时受到注入漏洞影响,从而允许攻击者绕过这些名称限制。Node.js 版本已修复此包含有问题的字符的转义 SAN,用以防止注入攻击。此行为可通过 --security-revert 命令行选项恢复。 (CVE-2021-44532)

- Node.js < 12.22.9、< 14.18.3、< 16.13.2 及 < 17.3.1 未正确处理多值相对可分辨名。例如,攻击者可构建包含解释为多值相对可分辨名的单值相对可分辨名的证书主题,以便注入允许绕过证书主题验证的通用名称。受影响的 Node.js 版本不接受多值相对可分辨名,因此本身不易受到此类攻击。但是,使用节点的有歧义证书主题演示的第三方代码可能容易受到攻击。 (CVE-2021-44533)

- 由于 console.table() 函数的格式化逻辑,允许将用户控制的输入传递给属性参数,同时传递一个具有至少一个属性的普通对象作为第一个参数(可能是 __proto__)是不安全的。原型污染的控制权非常有限,因为它只允许将空字符串分配给对象原型的数字键。Node.js >= 12.22.9、>= 14.18.3、>= 16.13.2 和 >= 17.3.1 的版本对已获分配这些属性的对象使用空原型。(CVE-2022-21824)

- 低于 14.20.0、16.20.0、18.5.0 的 Node.js 版本中存在操作系统命令注入漏洞,这是因为 IsAllowedHost 检查不充分所致,IsIPAddress 在发出 DBS 请求前未正确检查 IP 地址是否无效,从而导致可轻松绕过该漏洞并允许重新绑定攻击。(CVE-2022-32212)

- Node.js 的 http 模块中的 llhttp 解析器(低于 v14.20.1、v16.17.1 和 v18.9.1)未正确解析和验证传输编码标头,可导致 HTTP 请求走私 (HRS)。(CVE-2022-32213)

- Node.js 的 http 模块中的 llhttp 解析器(低于 v14.20.1、v16.17.1 和 v18.9.1)未严格使用 CRLF 序列来分隔 HTTP 请求。这可导致 HTTP 请求走私 (HRS) 攻击。
(CVE-2022-32214)

- Node.js 中 http 模块的 llhttp 解析器(低于 v14.20.1、v16.17.1 和 v18.9.1)未正确处理多行传输编码标头。这可导致 HTTP 请求走私 (HRS) 攻击。
(CVE-2022-32215)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

更新 CentOS 9 Stream nodejs 程序包。

另见

https://kojihub.stream.centos.org/koji/buildinfo?buildID=24670

插件详情

严重性: Critical

ID: 191380

文件名: centos9_nodejs-16_16_0-1.nasl

版本: 1.1

类型: local

代理: unix

发布时间: 2024/2/29

最近更新时间: 2024/4/26

支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Agentless Assessment, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 5.9

矢量: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS 分数来源: CVE-2021-43616

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:P/RL:O/RC:C

漏洞信息

CPE: cpe:/a:centos:centos:9, p-cpe:/a:centos:centos:nodejs, p-cpe:/a:centos:centos:nodejs-devel, p-cpe:/a:centos:centos:nodejs-docs, p-cpe:/a:centos:centos:nodejs-full-i18n, p-cpe:/a:centos:centos:nodejs-libs, p-cpe:/a:centos:centos:npm, p-cpe:/a:centos:centos:v8-devel

必需的 KB 项: Host/local_checks_enabled, Host/cpu, Host/CentOS/release, Host/CentOS/rpm-list

可利用: true

易利用性: Exploits are available

补丁发布日期: 2022/8/23

漏洞发布日期: 2020/7/7

参考资料信息

CVE: CVE-2020-15095, CVE-2021-22931, CVE-2021-22939, CVE-2021-22940, CVE-2021-22959, CVE-2021-22960, CVE-2021-27290, CVE-2021-3807, CVE-2021-3918, CVE-2021-43616, CVE-2021-44531, CVE-2021-44532, CVE-2021-44533, CVE-2022-21824, CVE-2022-32212, CVE-2022-32213, CVE-2022-32214, CVE-2022-32215