Oracle Linux 8:nodejs: 14 (ELSA-2021-3666)

critical Nessus 插件 ID 153765

简介

远程 Oracle Linux 主机缺少一个或多个安全更新。

描述

远程 Oracle Linux 8 主机上安装的程序包受到 ELSA-2021-3666 公告中提及的多个漏洞的影响。

- c-ares:缺少主机名输入验证可能导致域劫持 (CVE-2021-3672)

- nodejs:取消流时,close http2 会发生释放后使用问题 (CVE-2021-22930)

- 低于 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)

- 6.1.2、5.0.7、4.4.15 和 3.2.3 之前版本的 npm 程序包 tar(也称为 node-tar)由于符号链接保护不充分,存在任意文件创建/覆盖漏洞。“node-tar”的目的在于保证应用程序不会提取任何位置会被符号链接修改的文件。这部分是通过确保提取的目录不是符号链接来实现的。此外,为了防止不必要的“stat”调用,以确定给定的路径是否为目录,创建目录时会缓存路径。当提取同时包含目录和与目录同名之符号链接的 tar 文件时,此逻辑是不充分的。此操作顺序会造成应用程序创建目录并将其添加到“node-tar”目录缓存。当目录缓存中存在目录时,应用程序会跳过后续对该目录的 mkdir 的调用。但是,这也是“node-tar”检查符号链接的地方。通过首先创建一个目录,然后用符号链接替换该目录,用户可以绕过针对目录的“node-tar”符号链接检查,这基本上允许不受信任的 tar 文件以符号链接指向任意位置,然后将任意文件提取到该位置,从而允许应用程序创建和覆盖任意文件。此问题已在版本 3.2.3、4.4.15、5.0.7 和 6.1.2 中解决。(CVE-2021-32803)

- 6.1.1 、5.0.6、4.4.14 和 3.3.2 之前版本的 npm 程序包 tar(也称为 node-tar)由于绝对路径审查不充分,存在任意文件创建/覆盖漏洞。node-tar 的目的是在“preservePaths”标记未设置为“true”的情况下将绝对路径转换为相对路径,以防止应用程序提取绝对文件路径。这是通过从 tar 文件中包含的任何绝对文件路径中剥离绝对路径根来实现的。例如,“/home/user/.bashrc”会变成“home/user/.bashrc”。当文件路径包含重复的路径根(如“////home/user/.bashrc”)时,此逻辑是不充分的。
“node-tar”只会从这些路径中剥离一个路径根。当给定具有重复路径根的绝对文件路径时,生成的路径(例如“//home/user/.bashrc”)仍将解析为绝对路径,因此允许创建和覆盖任意文件。此问题已在版本 3.2.2、4.4.14、5.0.6 和 6.1.1 中解决。用户可通过创建审查“entry.path”的自定义“onentry”方法或删除包含绝对路径之条目的“filter”方法,在不升级的情况下解决此漏洞。详情请查看提及的 GitHub 公告。请注意,CVE-2021-32803 修复了更高版本的 tar 中存在的类似缺陷。(CVE-2021-32804)

- 程序包 path-parse 的所有版本都容易受到通过 splitDeviceRe、splitTailRe 和 splitPathRe 正则表达式触发的正则表达式拒绝服务攻击 (ReDoS)。ReDoS 呈现多项式最坏情况时间复杂性。(CVE-2021-23343)

请注意,Nessus 尚未测试此问题,而是只依靠应用程序自我报告的版本号来判断。

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2021-3666.html

插件详情

严重性: Critical

ID: 153765

文件名: oraclelinux_ELSA-2021-3666.nasl

版本: 1.6

类型: local

代理: unix

发布时间: 2021/9/27

最近更新时间: 2023/11/29

支持的传感器: Frictionless Assessment Agent, Nessus Agent, 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-22931

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:/o:oracle:linux:8, p-cpe:/a:oracle:linux:nodejs, p-cpe:/a:oracle:linux:nodejs-devel, p-cpe:/a:oracle:linux:nodejs-docs, p-cpe:/a:oracle:linux:nodejs-full-i18n, p-cpe:/a:oracle:linux:nodejs-nodemon, p-cpe:/a:oracle:linux:nodejs-packaging, p-cpe:/a:oracle:linux:npm

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2021/9/27

漏洞发布日期: 2021/5/4

参考资料信息

CVE: CVE-2021-22930, CVE-2021-22931, CVE-2021-22939, CVE-2021-22940, CVE-2021-23343, CVE-2021-32803, CVE-2021-32804, CVE-2021-3672

IAVB: 2021-B-0050-S