Debian DLA-3237-1:node-tar - LTS 安全更新

high Nessus 插件 ID 168639

简介

远程 Debian 主机上缺少一个或多个与安全性相关的更新。

描述

远程 Debian 10 主机上安装的程序包受到 dla-3237 公告中提及的多个漏洞影响。

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

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

解决方案

升级 node-tar 程序包。

对于 Debian 10 buster,已在 4.4.6+ds1-3+deb10u2 版本中修复这些问题。

另见

https://security-tracker.debian.org/tracker/source-package/node-tar

https://security-tracker.debian.org/tracker/CVE-2021-37701

https://security-tracker.debian.org/tracker/CVE-2021-37712

https://packages.debian.org/source/buster/node-tar

插件详情

严重性: High

ID: 168639

文件名: debian_DLA-3237.nasl

版本: 1.3

类型: local

代理: unix

发布时间: 2022/12/12

最近更新时间: 2025/1/22

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

风险信息

VPR

风险因素: High

分数: 7.3

CVSS v2

风险因素: Medium

基本分数: 4.4

时间分数: 3.3

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

CVSS 分数来源: CVE-2021-37712

CVSS v3

风险因素: High

基本分数: 8.6

时间分数: 7.5

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

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

漏洞信息

CPE: cpe:/o:debian:debian_linux:10.0, p-cpe:/a:debian:debian_linux:node-tar

必需的 KB 项: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

易利用性: No known exploits are available

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

漏洞发布日期: 2021/8/31

参考资料信息

CVE: CVE-2021-37701, CVE-2021-37712