Amazon Linux 2023:nodejs、nodejs-devel、nodejs-full-i18n (ALAS2023-2023-084)

critical Nessus 插件 ID 173113

简介

远程 Amazon Linux 2023 主机缺少安全更新。

描述

因此,它受到公告 ALAS2023-2023-084 中提及的多个漏洞影响。

- 解析器接受冒号前的标头名称后带有空格 (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)

- ** 有争议** 即使 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)

- 在 18.x 之前及 18.40.0 版本的 linux 中,Node.js 存在加密漏洞,导致 openssl.cnf 的默认路径在某些情况下可以被非管理员用户而不是管理员用户访问,这种情况存在于升级至 OpenSSL 3 之前的版本中。(CVE-2022-32222)

- Node.js 易受劫持执行流的影响:- 在某些情形下,Windows 平台会受 DLL 劫持的影响。如果受害者在 Windows 计算机上具有以下依存关系,则攻击者可利用此漏洞:* 已安装 OpenSSL 且存在 C: \Program Files\Common Files\SSL\openssl.cnf。只要满足上述条件,“node.exe”将在当前用户目录中搜索“providers.dll”。之后,“node.exe”将尝试在 Windows 中按 DLL 搜索顺序搜索“providers.dll”。攻击者可能会将恶意文件“providers.dll”放到多种路径下并利用此漏洞。(CVE-2022-32223)

- Node.js 18 中存在 WebCrypto keygen 漏洞,这是由于 SecureKeyGenTraits 中 EntropySource() 的变更所致:: src/crypto/crypto_keygen.cc 中的 DoKeyGen()。这有两个问题:1) 它不检查返回值,它假设 EntropySource() 总是成功,但它可能(有时会)失败。 2) EntropySource() 返回的随机数据在加密方面可能不强,因此不适合作为密钥材料。(CVE-2022-35255)

- Node v18.7.0 中 http 模块的 llhttp 解析器未正确处理非以 CLRF 结尾的标头字段,这可能会导致 HTTP 请求走私攻击。(CVE-2022-35256)

- 缓冲区溢出可在 X.509 证书验证中触发,在名称限制检查中更是如此。请注意,这会在证书链签名验证之后发生,并且需要 CA 签署恶意证书,或者要求应用程序在未能构建到受信任颁发者的路径的情况下继续证书验证。攻击者可以构建恶意电子邮件地址,使堆栈上四个由攻击者控制的字节溢出。此缓冲区溢出可能会导致崩溃(造成拒绝服务)或远程代码执行。许多平台实现了堆栈溢出保护,可降低远程代码执行的风险。可根据任何给定平台/编译器的堆栈布局进一步缓解此风险。 CVE-2022-3602 的预先公告将此问题描述为“危急”。基于上述一些缓解因素的进一步分析可将此问题降级为“高危”。仍建议用户尽快升级到新版本。在 TLS 客户端中,这可通过连接到恶意服务器来触发。
在 TLS 服务器中,如果服务器请求客户端认证并连接了恶意客户端,就会触发此问题。已在 OpenSSL 3.0.7 中修复(影响 3.0.0、3.0.1、3.0.2、3.0.3、3.0.4、3.0.5、3.0.6、CVE-2022-3602)。

- 缓冲区溢出可在 X.509 证书验证中触发,在名称限制检查中更是如此。请注意,这会在证书链签名验证之后发生,并且需要 CA 签署恶意证书,或者要求应用程序在未能构建到受信任颁发者的路径的情况下继续证书验证。攻击者可特制证书中的恶意电子邮件地址,以在堆栈上溢出包含“.”字符(十进制 46)的任意数量的字节。此缓冲区溢出可能会导致崩溃(造成拒绝服务)。在 TLS 客户端中,这可通过连接到恶意服务器来触发。在 TLS 服务器中,如果服务器请求客户端认证并连接了恶意客户端,就会触发此问题。(CVE-2022-3786)

- 低于 14.21.1、16.18.1、18.12.1、19.0.1 的 Node.js 版本中存在操作系统命令注入漏洞,这是因为 IsAllowedHost 检查不充分所致,IsIPAddress 在发出 DBS 请求前未正确检查 IP 地址是否无效,从而导致可轻松绕过该漏洞并允许重新绑定攻击。https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-32212 中对此问题的修复不完整,新的 CVE 将完成修复。(CVE-2022-43548)

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

解决方案

运行“dnf update nodejs --releasever=2023.0.20230222”以更新系统。

另见

https://alas.aws.amazon.com/AL2023/ALAS-2023-084.html

https://alas.aws.amazon.com/cve/html/CVE-2021-22959.html

https://alas.aws.amazon.com/cve/html/CVE-2021-22960.html

https://alas.aws.amazon.com/cve/html/CVE-2021-43616.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44531.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44532.html

https://alas.aws.amazon.com/cve/html/CVE-2021-44533.html

https://alas.aws.amazon.com/cve/html/CVE-2022-21824.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32212.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32213.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32214.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32215.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32222.html

https://alas.aws.amazon.com/cve/html/CVE-2022-32223.html

https://alas.aws.amazon.com/cve/html/CVE-2022-35255.html

https://alas.aws.amazon.com/cve/html/CVE-2022-35256.html

https://alas.aws.amazon.com/cve/html/CVE-2022-3602.html

https://alas.aws.amazon.com/cve/html/CVE-2022-3786.html

https://alas.aws.amazon.com/cve/html/CVE-2022-43548.html

https://alas.aws.amazon.com/faqs.html

插件详情

严重性: Critical

ID: 173113

文件名: al2023_ALAS2023-2023-084.nasl

版本: 1.2

类型: local

代理: unix

发布时间: 2023/3/21

最近更新时间: 2023/4/21

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.2

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

CVSS 分数来源: CVE-2021-43616

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 9.1

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

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

漏洞信息

CPE: p-cpe:/a:amazon:linux:nodejs, p-cpe:/a:amazon:linux:nodejs-debuginfo, p-cpe:/a:amazon:linux:nodejs-debugsource, p-cpe:/a:amazon:linux:nodejs-devel, p-cpe:/a:amazon:linux:nodejs-docs, p-cpe:/a:amazon:linux:nodejs-full-i18n, p-cpe:/a:amazon:linux:nodejs-libs, p-cpe:/a:amazon:linux:nodejs-libs-debuginfo, p-cpe:/a:amazon:linux:npm, p-cpe:/a:amazon:linux:v8-devel, cpe:/o:amazon:linux:2023

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

可利用: true

易利用性: Exploits are available

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

漏洞发布日期: 2021/10/12

参考资料信息

CVE: CVE-2021-22959, CVE-2021-22960, 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, CVE-2022-32222, CVE-2022-32223, CVE-2022-35255, CVE-2022-35256, CVE-2022-3602, CVE-2022-3786, CVE-2022-43548