Oracle Linux 8:nodejs: 14 (ELSA-2022-0350)

critical Nessus 插件 ID 157333

简介

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

描述

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

- 这会影响 1.3.6 之前的 ini 程序包。如果攻击者向应用程序提交恶意 INI 文件,该应用程序使用 ini.parse 进行解析,则恶意文件将污染该应用程序上的原型。此问题可根据环境被进一步利用。 (CVE-2020-7788)

- 4.4.16、5.0.8、6.1.7 之前版本的 npm 程序包 tar(也称为 node-tar)中存在任意文件创建/覆盖级任意代码执行漏洞。“node-tar”的目的在于保证应用程序不会提取任何位置会被符号链接修改的文件。这部分是通过确保提取的目录不是符号链接来实现的。此外,为防止不必要的“stat”调用,以确定给定的路径是否为目录,创建目录时会缓存路径。
当提取同时包含目录和与目录同名的符号链接的 tar 文件时,此逻辑尚不充分,其中存档条目中的符号链接和目录名称在 posix 系统上使用反斜线作为路径分隔符。缓存检查逻辑同时使用“\”和“/”字符作为路径分隔符,但“\”在 posix 系统上属于有效的文件名字符。通过先创建一个目录,然后用符号链接替换该目录,用户可以绕过针对目录的“node-tar”符号链接检查,这基本上允许不受信任的 tar 文件以符号链接指向任意位置,然后将任意文件提取到该位置,从而允许应用程序创建和覆盖任意文件。此外,不区分大小写的文件系统也会出现类似的混淆问题。如果 tar 存档在 `FOO` 中加入一个目录,后跟一个名为 `foo` 的符号链接,则在不区分大小写的文件系统上创建符号链接时,将从文件系统中删除该目录,但不会从内部目录缓存中删除目录,因为该目录不会被视为缓存命中。`FOO` 目录中的后续文件条目将被放置在符号链接的目标中,并认为该目录已经成功创建。这些问题已在 4.4.16、5.0.8、6.1.7 版本中解决。node-tar 的 v3 分支已弃用,且未收到针对这些问题的补丁。如果您仍在使用 v3 版本,我们建议您更新到较新的 node-tar 版本。
如果无法执行此操作,可参阅引用的 GHSA-9r2w-394v-53qc 查找解决方法。(CVE-2021-37701)

- 4.4.18、5.0.10、6.1.9 之前版本的 npm 程序包 tar(也称为 node-tar)中存在任意文件创建/覆盖级任意代码执行漏洞。“node-tar”的目的在于保证应用程序不会提取任何位置会被符号链接修改的文件。这部分是通过确保提取的目录不是符号链接来实现的。此外,为防止不必要的“stat”调用,以确定给定的路径是否为目录,创建目录时会缓存路径。
当提取同时包含目录和符号链接的 tar 文件时,此逻辑并不充分,其名称包含标准化为相同值的 unicode 值。此外,在 Windows 系统上,长路径部分将解析为其 8.3 短路径对应项相同的文件系统实体。因此,特制的 tar 存档可能包含具有一种形式路径的目录,后跟具有解析为相同文件系统实体的不同字符串的符号链接,并后跟使用第一种形式的文件。通过先创建一个目录,然后用一个符号链接(具有不同的明显名称,并解析为文件系统中的相同条目)替换该目录,用户可以绕过针对目录的“node-tar”符号链接检查,这基本上允许不受信任的 tar 文件以符号链接指向任意位置,然后将任意文件提取到该位置,从而允许应用程序创建和覆盖任意文件。这些问题已在 4.4.18、5.0.10、6.1.9 版本中解决。
node-tar 的 v3 分支已弃用,且未收到针对这些问题的补丁。如果您仍在使用 v3 版本,我们建议您更新到较新的 node-tar 版本。如果无法执行此操作,可参阅引用的 GHSA-qq89-hq3f-393p 查找解决方法。(CVE-2021-37712)

- 这会影响 5.1.2 之前版本的 glob-parent 程序包。enclosure regex 之前用于检查以包含路径分隔符的 enclosure 结尾的字符串。(CVE-2020-28469)

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

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

- 在适用于 Node.js 的低于 4.5.1 版的 normalize-url、低于 5.3.1 版的 normalize-url 5.x 以及低于 6.0.1 版的 normalize-url 6.x 程序包中存在 ReDoS(正则表达式拒绝服务)问题,原因是它对 data: URL 具有指数级性能。
(CVE-2021-33502)

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

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

解决方案

更新受影响的程序包。

另见

https://linux.oracle.com/errata/ELSA-2022-0350.html

插件详情

严重性: Critical

ID: 157333

文件名: oraclelinux_ELSA-2022-0350.nasl

版本: 1.4

类型: local

代理: unix

发布时间: 2022/2/2

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

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

风险信息

VPR

风险因素: High

分数: 7.3

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.2

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

CVSS 分数来源: CVE-2021-3918

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: 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

补丁发布日期: 2022/2/2

漏洞发布日期: 2020/12/11

参考资料信息

CVE: CVE-2020-28469, CVE-2020-7788, CVE-2021-22959, CVE-2021-22960, CVE-2021-33502, CVE-2021-37701, CVE-2021-37712, CVE-2021-3807, CVE-2021-3918

IAVB: 2021-B-0059-S