CVE-2021-37712 (CNNVD-202108-2804)

HIGH
中文标题:
node-tar 后置链接漏洞
英文标题:
Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning using symbolic links
CVSS分数: 8.2
发布时间: 2021-08-31 00:00:00
漏洞类型: 后置链接
状态: PUBLISHED
数据质量分数: 0.30
数据版本: v3
漏洞描述
中文描述:

node-tar是一款用于文件压缩/解压缩的软件包。 Node-tar 中存在后置链接漏洞,该漏洞源于产品未对特殊字符做有效验证。攻击者可通过该漏洞在其他路径创建恶意文件。

英文描述:

The npm package "tar" (aka node-tar) before versions 4.4.18, 5.0.10, and 6.1.9 has an arbitrary file creation/overwrite and arbitrary code execution vulnerability. node-tar aims to guarantee that any file whose location would be modified by a symbolic link is not extracted. This is, in part, achieved by ensuring that extracted directories are not symlinks. Additionally, in order to prevent unnecessary stat calls to determine whether a given path is a directory, paths are cached when directories are created. This logic was insufficient when extracting tar files that contained both a directory and a symlink with names containing unicode values that normalized to the same value. Additionally, on Windows systems, long path portions would resolve to the same file system entities as their 8.3 "short path" counterparts. A specially crafted tar archive could thus include a directory with one form of the path, followed by a symbolic link with a different string that resolves to the same file system entity, followed by a file using the first form. By first creating a directory, and then replacing that directory with a symlink that had a different apparent name that resolved to the same entry in the filesystem, it was thus possible to bypass node-tar symlink checks on directories, essentially allowing an untrusted tar file to symlink into an arbitrary location and subsequently extracting arbitrary files into that location, thus allowing arbitrary file creation and overwrite. These issues were addressed in releases 4.4.18, 5.0.10 and 6.1.9. The v3 branch of node-tar has been deprecated and did not receive patches for these issues. If you are still using a v3 release we recommend you update to a more recent version of node-tar. If this is not possible, a workaround is available in the referenced GHSA-qq89-hq3f-393p.

CWE类型:
CWE-22 CWE-59
标签:
(暂无数据)
受影响产品
厂商 产品 版本 版本范围 平台 CPE
npm node-tar < 4.4.18 - - cpe:2.3:a:npm:node-tar:<_4.4.18:*:*:*:*:*:*:*
npm node-tar >= 5.0.0, < 5.0.10 - - cpe:2.3:a:npm:node-tar:>=_5.0.0,_<_5.0.10:*:*:*:*:*:*:*
npm node-tar >= 6.0.0, < 6.1.9 - - cpe:2.3:a:npm:node-tar:>=_6.0.0,_<_6.1.9:*:*:*:*:*:*:*
npmjs tar * - - cpe:2.3:a:npmjs:tar:*:*:*:*:*:node.js:*:*
debian debian_linux 10.0 - - cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
debian debian_linux 11.0 - - cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*
oracle graalvm 20.3.3 - - cpe:2.3:a:oracle:graalvm:20.3.3:*:*:*:enterprise:*:*:*
oracle graalvm 21.2.0 - - cpe:2.3:a:oracle:graalvm:21.2.0:*:*:*:enterprise:*:*:*
siemens sinec_infrastructure_network_services * - - cpe:2.3:a:siemens:sinec_infrastructure_network_services:*:*:*:*:*:*:*:*
解决方案
中文解决方案:
(暂无数据)
英文解决方案:
(暂无数据)
临时解决方案:
(暂无数据)
参考链接
无标题 OTHER
cve.org
访问
无标题 OTHER
cve.org
访问
无标题 OTHER
cve.org
访问
DSA-5008 vendor-advisory
cve.org
访问
无标题 OTHER
cve.org
访问
[debian-lts-announce] 20221212 [SECURITY] [DLA 3237-1] node-tar security update mailing-list
cve.org
访问
CVSS评分详情
3.1 (cna)
HIGH
8.2
CVSS向量: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
机密性
HIGH
完整性
HIGH
可用性
NONE
时间信息
发布时间:
2021-08-31 00:00:00
修改时间:
2024-08-04 01:23:01
创建时间:
2025-11-11 15:36:58
更新时间:
2025-11-11 15:56:52
利用信息
暂无可利用代码信息
数据源详情
数据源 记录ID 版本 提取时间
CVE cve_CVE-2021-37712 2025-11-11 15:21:02 2025-11-11 07:36:58
NVD nvd_CVE-2021-37712 2025-11-11 14:57:41 2025-11-11 07:45:16
CNNVD cnnvd_CNNVD-202108-2804 2025-11-11 15:10:42 2025-11-11 07:56:52
版本与语言
当前版本: v3
主要语言: EN
支持语言:
EN ZH
安全公告
暂无安全公告信息
变更历史
v3 CNNVD
2025-11-11 15:56:52
vulnerability_type: 未提取 → 后置链接; cnnvd_id: 未提取 → CNNVD-202108-2804; data_sources: ['cve', 'nvd'] → ['cnnvd', 'cve', 'nvd']
查看详细变更
  • vulnerability_type: 未提取 -> 后置链接
  • cnnvd_id: 未提取 -> CNNVD-202108-2804
  • data_sources: ['cve', 'nvd'] -> ['cnnvd', 'cve', 'nvd']
v2 NVD
2025-11-11 15:45:16
affected_products_count: 3 → 9; data_sources: ['cve'] → ['cve', 'nvd']
查看详细变更
  • affected_products_count: 3 -> 9
  • data_sources: ['cve'] -> ['cve', 'nvd']