tarfile `data`/`tar` filter bypass via hard link to a symlink
未关闭
@StanFromIreland 已经在做这个了。
开始于 2026年9月8日。
3.10
3.11
3.12
3.13
stdlib
type-security
- 主要语言
- Python
- 星标
- 77.2k
- 派生
- 35.9k
- PR 合并指标
- PR 指标待抓取
描述
On CPython 3.13.15 for Linux, an attacker-controlled tar archive extracted with the tar or data filter can make tarfile change the permissions and modification time of an existing file outside the extraction directory. The archive also leaves a path inside the extracted tree that resolves to the outside file. Opening that path returns the outside file's content.
This was incidentally fixed by https://github.com/python/cpython/commit/5a57248b22ad3b9aafcaaadae2c304a1923daeca for 3.14+ which changed os.link to use AT_SYMLINK_FOLLOW.
Linked PRs
- gh-157191
- gh-157192
- gh-157261
- gh-157262
- gh-157454
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
评估
这个 Issue 还没有评估数据。