# Node-tar 路径 sanitization 漏洞
## 概述
node-tar 库在版本 7.5.2 及以下中,当 `preservePaths` 为 false(默认安全行为)时,未能正确清理硬链接(Link)和符号链接(SymbolicLink)条目的 `linkpath`,导致恶意归档可绕过提取根目录限制。
## 影响版本
- node-tar ≤ 7.5.2
## 细节
在处理 tar 归档时,库未对硬链接和符号链接的目标路径进行充分的路径净化。攻击者可构造包含硬链接或指向绝对路径的符号链接的恶意归档,在解压时突破提取路径沙箱,写入或覆盖任意文件。
## 影响
- **任意文件覆盖(Arbitrary File Overwrite)**:通过硬链接绕过路径限制,覆盖系统任意文件。
- **符号链接中毒(Symlink Poisoning)**:利用绝对路径符号链接,诱导后续操作修改非预期文件。
- 攻击可导致权限提升、配置篡改或拒绝服务。
该问题已在 7.5.3 版本中修复。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|---|---|---|
| 1 | Proof of Concept for CVE-2026-23745: Arbitrary File Overwrite vulnerability in node-tar (versions < 7.5.3). | https://github.com/Jvr2022/CVE-2026-23745 | POC详情 |
标题: Insufficient Link Path Sanitization · Advisory · isaacs/node-tar · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
### 关键信息
- **标题**: Insufficient Link Path Sanitization
- **严重性**: High
- **CVE ID**: CVE-2026-23745
- **受影响的版本**: <= 7.5.2
- **已修复版本**: 7.5.3
- **CVSS v4 基础指标**:
- **严重性**: 8.2/10
- **攻击向量**: Local
- **攻击复杂性**: Low
- **攻击需求**: None
- **需要的权限**: None
- **用户交互**: Active
- **机密性影响**: High
- **完整性影响**: Low
- **可用性影响**: None
- **弱点**: CWE-22
- **报告人**: Jvr2022
### 描述
#### 总结
`node-tar` 库在处理 `Link` 和 `SymbolicLink` 类型的条目时未能对 `linkpath` 进行适当的清理,从而可能允许恶意tar可执行文件绕过默认的提取目录限制,进而导致敏感文件的覆盖(ccccFile Overwrite)和符号链接中毒(Symlink Poisoning)问题被触发。
#### 详情
存在漏洞的代码位于 `src/unpack.ts` 文件中,该文件中的 `[HARDLINK]` 和 `[SYMLINK]` 方法的实现上存在问题。
### PoC
PoC部分提供了用于生成一个恶意的TAR文件,这个文件包含硬链接到一个本地文件和符号链接到`/etc/passwd`,然后通过常规的 `node-tar` 解压缩示例来展示如何利用这个漏洞,通过确认secret文件被成功覆盖来验证漏洞。
### 影响
- **任意文件覆盖**: 攻击者可以覆盖任何文件,只要提取过程可以访问它所在的位置,绕过基于路径的安全限制,例如root拥有的配置文件。
- **远程代码执行(RCE)**: 在CI/CD环境下或者自动化管道中,修改配置文件、脚本或二进制文件可以导致代码执行。虽然npm本身不受影响(过滤掉了链接条目),但受其影响的项目可能存在此风险。
标题: fix: sanitize absolute linkpaths properly · isaacs/node-tar@340eb28 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键信息提取
#### 漏洞ID:
- GHSA-8qq5-rm4j-mr97
#### 漏洞描述:
- 该 commit 修复了一个与绝对链接路径(absolute linkpaths)相关的安全漏洞,确保路径被正确地处理和清理。
#### 修正措施:
- 引入了 `STRIPABSOLUTEPATH` 符号,用于在链接路径中检查和清理绝对路径。
- 代码实现了过滤包含 `..` 或跨过根目录的路径,避免可能的安全风险。
#### 影响版本:
- 修复版本: v7.5.4 (可能需要查看自身的发行说明以获取完整的影响版本列表)
#### 其他注意事项:
- 该修复与路径操作安全和防止路径遍历攻击有关。
- 新加入的测试代码验证了修复的正确性,确保路径被适当清理。
暂无评论