CentOS 9:nodejs-16.20.1-1.el9

high Nessus 插件 ID 191426

简介

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

描述

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

- 在 process.mainModule.__proto__.require() 中使用 __proto__ 可绕过策略机制,并且需要 policy.json 定义之外的模块。此漏洞会影响在所有以下可用的稳定版本系列中使用实验性策略机制的所有用户:v16、v18 和 v20。请注意,发布此 CVE 时,该策略是 Node.js 的一项实验性功能 (CVE-2023-30581)

- 当使用无效的公钥借助 crypto.X509Certificate() API 创建 x509 证书时,会发生非预期终止,从而使其在攻击者可强制中断应用程序处理时容易受到 DoS 攻击,这是因为该进程会在访问通过用户代码所提供证书的公钥信息时终止。用户的当前环境将不复存在,这将导致 DoS 情况。此漏洞会影响所有可用的 Node.js 版本 v16、v18 和 v20。(CVE-2023-30588)

- 在 Node v20.2.0 中,http 模块中的 llhttp 解析器未严格使用 CRLF 序列来分隔 HTTP 请求。这可导致 HTTP 请求走私 (HRS) 攻击。CR 字符(无 LF)完全可以在 llhttp 解析器中分隔 HTTP 标头字段。根据 RFC7230 第 3 部分,只应使用 CRLF 序列分隔每个标头字段。此漏洞会影响所有可用的 Node.js 版本:v16、v18 和 v20 (CVE-2023-30589)

- crypto.createDiffieHellman() 返回的 generateKeys() API 函数仅生成缺失(或过时)的密钥,即此函数只会在尚未设置任何密钥时生成私钥,但也需要在调用 setPrivateKey() 后使用此函数计算相应的公钥。不过,文档中已说明此 API 调用会生成私有和公共 Diffie-Hellman 密钥值。记录的行为与实际行为非常不同,这种差异很容易导致使用这些 API 的应用程序中出现安全问题,这是因为 DiffieHellman 可能会被用作应用程序级安全措施的基础,因此会产生广泛的影响。(CVE-2023-30590)

- c-ares 是一种异步解析器库。当交叉编译 c-ares 并使用 Autotools 构建系统时,与交叉编译 aarch64 android 一样,无需设置 CARES_RANDOM_FILE。这会导致降级使用 rand() 作为回退,让攻击者无需使用 CSPRNG 即可利用缺少熵的情况。已在版本 1.19.1 中修补此问题。(CVE-2023-31124)

- c-ares 是一个异步解析器库。ares_inet_net_pton() 容易受到某些 ipv6 地址的缓冲区下溢漏洞影响,尤其是发现 0::00:00:00/2 会引致问题。C-ares 仅处于配置目的在内部使用此函数,而这需要管理员通过 ares_set_sortlist() 配置此类地址。但是,用户可能出于其他目的而在外部使用 ares_inet_net_pton(),因此容易受到更严重问题的影响。已在 1.19.1 中修复此问题。(CVE-2023-31130)

- c-ares 是一种异步解析器库。当 /dev/urandom 或 RtlGenRandom() 不可用时,c-ares 会使用 rand() 生成用于 DNS 查询 ID 的随机数。这不是 CSPRNG,也不是由 srand() 植入,因此将生成可预测的输出。来自随机数生成器的输入被馈送给不合规的 RC4 实现,并且可能不如原始 RC4 实现。未尝试查找现代操作系统提供的 CSPRNG,例如广泛可用的 arc4random()。此问题已在 1.19.1 版本中修复。(CVE-2023-31147)

- c-ares 是一个异步解析器库。c-ares 容易遭受拒绝服务攻击。如果目标解析器发送查询,攻击者便会伪造长度为 0 的畸形 UDP 数据包并将其返回给目标解析器。目标解析器将 0 长度错误地解释为正常关闭连接。已在版本 1.19.1 中修补此问题。(CVE-2023-32067)

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

解决方案

更新 CentOS 9 Stream nodejs 程序包。

另见

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

插件详情

严重性: High

ID: 191426

文件名: centos9_nodejs-16_20_1-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.8

时间分数: 6.1

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

CVSS 分数来源: CVE-2023-30590

CVSS v3

风险因素: High

基本分数: 7.5

时间分数: 6.7

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

时间矢量: 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

补丁发布日期: 2023/7/17

漏洞发布日期: 2023/5/24

参考资料信息

CVE: CVE-2023-30581, CVE-2023-30588, CVE-2023-30589, CVE-2023-30590, CVE-2023-31124, CVE-2023-31130, CVE-2023-31147, CVE-2023-32067