【漏洞通告】tar & @npmcli/arborist 9月多个安全漏洞
发布时间 2021-09-100x00 漏洞概述
2021年9月8日,GitHub安全团队公开披露了在npm CLI 使用的 npm 包tar和@npmcli/arborist中发现的7个安全漏洞,攻击者可以利用这些漏洞覆盖任意文件、创建任意文件或执行任意代码。
0x01 漏洞详情
tar是npm的一个核心依赖,用于提取和安装npm包。@npmcli/arborist是npm CLI的一个核心依赖项,用于管理node_modules树。
当tar被用来提取不受信任的tar文件或当npm CLI在某些文件系统条件下被用来安装不受信任的npm包时,这些漏洞可能会由于文件覆盖或创建而导致任意代码执行。本次披露的7个漏洞如下:
l CVE-2021-32803:由于目录缓存中毒,可以通过不充分的符号链接保护来实现任意文件创建/覆盖,该漏洞的CVSSv3评分为8.1/8.2。
l CVE-2021-32804:由于绝对路径清理不足而导致任意文件创建/覆盖,该漏洞的CVSSv3评分为8.1/8.2。
l CVE-2021-37701:由于使用符号链接的目录缓存中毒,导致符号链接保护不足,从而导致任意文件创建/覆盖,该漏洞的CVSSv3评分为8.2。
l CVE-2021-37712:由于使用符号链接的目录缓存中毒,导致符号链接保护不足,从而导致任意文件创建/覆盖,该漏洞的CVSSv3评分为8.2。
l CVE-2021-37713:通过不充分的相对路径清理在Windows上创建/覆盖任意文件,该漏洞的CVSSv3评分为8.2。
l CVE-2021-39134:@npmcli/arborist中的UNIX符号链接(Symlink),该漏洞的CVSSv3评分为7.8/8.2。
l CVE-2021-39135:@npmcli/arborist中的UNIX符号链接(Symlink),该漏洞的CVSSv3评分为7.8/8.2。
在处理恶意或不受信任的npm包安装,CVE-2021-32804、CVE-2021-37713、CVE-2021-39134和CVE-2021-39135会影响npm CLI,其中一些漏洞可能会导致任意代码执行。
影响范围
CVE | 影响产品 | 影响范围 | 修复版本 | 参考链接 |
CVE-2021-32803 |
tar(npm)
| <3.2.3 4.x :<4.4.15 5.x :<5.0.7 6.x :<6.1.2 | 3.2.3 4.4.15 5.0.7 6.1.2 | https://github.com/npm/node-tar/security/advisories/GHSA-r628-mhmh-qjhw |
CVE-2021-32804 | <3.2.2 4.x :<4.4.14 5.x :<5.0.6 6.x :<6.1.1 | 3.2.2 4.4.14 5.0.6 6.1.1 | https://github.com/npm/node-tar/security/advisories/GHSA-3jfq-g458-7qm9 | |
CVE-2021-37701 | <4.4.16 5:<5.0.8 6:<6.1.7 | 4.4.16 5.0.8 6.1.7 | https://github.com/npm/node-tar/security/advisories/GHSA-9r2w-394v-53qc | |
CVE-2021-37712 | 6:<=6.1.8 5:<=5.0.9 <=4.4.17 | 6.1.9 5.0.10 4.4.18
| https://github.com/npm/node-tar/security/advisories/GHSA-qq89-hq3f-393p | |
CVE-2021-37713 | 6:<=6.1.8 5:<=5.0.9 <=4.4.17 | 6.1.9 5.0.10 4.4.18 | https://github.com/npm/node-tar/security/advisories/GHSA-5955-9wpr-37jh | |
CVE-2021-39134 | @npmcli/arborist (npm) | <=2.8.1 | 2.8.2 | https://github.com/npm/arborist/security/advisories/GHSA-2h3h-q99f-3fhc |
CVE-2021-39135 | <=2.8.1 | 2.8.2 | https://github.com/npm/arborist/security/advisories/GHSA-gmw6-94gg-2rc2 |
0x02 处置建议
目前这些漏洞已经修复,建议及时升级更新。
l 如果直接安装或打包npm CLI,请更新npm CLI 到6.14.15、7.21.0 或更高版本。(只有CVE-2021-32804、CVE-2021-37713、CVE-2021-39134 和 CVE-2021-39135影响npm CLI)。
l 如果依赖 Node.js 进行 npm 安装,请更新到最新版本的 Node.js v12.22.6、v14.17.6 、v16.8.0 (截至2021 年 8 月 31 日)或更高版本,它们包含CVE-2021-32804、CVE-2021-37713、CVE-2021-39134 和 CVE-2021-39135 的补丁。
l 如果项目依赖于tar:将依赖项更新到 4.4.19、5.0.11、6.1.10 或更高版本。(详见CVE-2021-32804、CVE-2021-32803、CVE-2021-37701、CVE-2021-37712和CVE-2021-37713链接。)
l tar的v3分支已经被废弃,建议更新到v6。
下载链接:
https://github.com/npm/cli/
0x03 参考链接
https://github.blog/2021-09-08-github-security-update-vulnerabilities-tar-npmcli-arborist/
https://github.com/npm/node-tar/security/advisories/GHSA-r628-mhmh-qjhw
https://www.bleepingcomputer.com/news/security/github-finds-7-code-execution-vulnerabilities-in-tar-and-npm-cli/
0x04 更新版本
版本 | 日期 | 修改内容 |
V1.0 | 2021-09-10 | 首次发布 |
0x05 文档附录
CNVD:www.cnvd.org.cn
CNNVD:www.cnnvd.org.cn
CVE:cve.mitre.org
NVD:nvd.nist.gov
CVSS:www.first.org
0x06 关于我们
关注以下公众号,获取更多资讯: