Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-29786 — 概念验证,演示了 tar npm 包中的硬链接路径遍历漏洞,允许通过精心构造的归档文件覆盖解压目录之外的文件。 | Kitploit
工具/GitHubGitHub/jvr2022/cve-2026-29786
漏洞分析代码分析漏洞利用Web安全供应链安全
GitHubjvr2022/cve-2026-29786

CVE-2026-29786

概念验证,演示了 tar npm 包中的硬链接路径遍历漏洞,允许通过精心构造的归档文件覆盖解压目录之外的文件。

查看仓库
15个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-29786

研究: Joshua van Rijswijk

描述

本仓库包含 CVE-2026-29786 的 概念验证(PoC),这是 tar npm 包中的一个漏洞,允许特制的归档文件创建指向预期解压目录之外的硬链接。

当 tar 归档文件包含驱动器相对链接目标(如 C:../target.txt)时,就会出现此问题。由于库在解压过程中执行验证和路径规范化的顺序问题,遍历保护可以被绕过。

规范化后,路径变为 ../target.txt,从而允许链接目标逃逸出配置的解压目录。

当写入解压后的文件时,外部文件会被修改,因为两个路径引用的是同一个硬链接。

漏洞详情

该漏洞发生在负责处理绝对路径(Unpack[STRIPABSOLUTEPATH])的解压逻辑中。

遍历检测在绝对路径剥离之前执行。

恶意标头值示例

linkpath: C:../target.txt

处理行为:

  1. 路径被分割成多个段以进行遍历检测。

  2. 遍历检查查找 ".." 段。

  • 由于该段显示为 "C:..",检查不会触发。

  • stripAbsolutePath() 函数随后移除驱动器前缀(C:)。

  • 生成的路径变为:

  • ../target.txt

    1. 硬链接目标随后相对于解压目录进行解析。

    这使得路径能够逃逸出预期的解压根目录。

    影响

    攻击者可以使用执行解压进程的权限,覆盖解压目录之外的文件。

    潜在的真实世界场景包括:

    • 解压不受信任的 tar 归档文件的 CLI 工具 • 处理第三方制品的构建流水线 • 导入用户提供的 tar 文件的服务 • 解压归档文件的包管理器或插件系统

    使用方法

    1. 安装存在漏洞的依赖项

    npm install [email protected]

    1. 运行 PoC

    node poc.cjs

    该脚本会生成一个恶意的 tar 归档文件,并演示写入解压后的文件会导致解压目录之外的文件被覆盖。

    参考

    • GitHub 安全公告 https://github.com/isaacs/node-tar/security/advisories/GHSA-qffp-2rhf-9h96
    • CVE https://nvd.nist.gov/vuln/detail/CVE-2026-29786
    下载工具