Python标准库tarfile模块存在任意文件写入高危漏洞,PoC已公开

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

安全研究人员发现Python tarfile模块存在高危漏洞(CVE-2025-4517,CVSS 9.4),允许攻击者通过特制tar文件实现任意文件写入。该漏洞影响Python 3.12及以上版本,主要在使用filter="data"解压不受信任的tar文件时出现。建议验证归档内容或升级Python版本以修复该漏洞。

🎯

关键要点

  • 安全研究人员发现Python tarfile模块存在高危漏洞(CVE-2025-4517,CVSS评分9.4)。

  • 该漏洞允许攻击者通过特制的tar压缩包实现任意文件写入,影响Python 3.12及以上版本。

  • 漏洞在使用filter='data'解压不受信任的tar文件时出现,可能导致文件系统任意位置写入。

  • data过滤器未能有效防范路径遍历攻击,攻击者可利用此漏洞向预期解压目录之外写入文件。

  • 该漏洞对源码分发包安装影响较小,但处理来自用户或自动化流程的tar文件时存在风险。

  • 攻击者可通过构造恶意tar文件覆盖敏感文件,如/etc/passwd。

  • 建议验证归档内容或使用强化解压以检测并阻止路径遍历。

  • 长期解决方案是升级到已修复该漏洞的Python版本。

🔎

延伸解读

漏洞影响范围

该漏洞主要影响使用Python 3.12及以上版本的用户,尤其是在处理不受信任的tar文件时。虽然对源码分发包的影响较小,但在自动化流程或用户上传的文件中,风险显著增加。开发者需特别关注这些场景,以防止潜在的安全隐患。

路径遍历攻击的风险

漏洞的根源在于data过滤器未能有效防范路径遍历攻击,攻击者可以利用这一点向系统的任意位置写入文件。这种情况可能导致敏感文件被覆盖,尤其是在Python脚本以高权限运行时,后果可能非常严重。

缓解措施与建议

为降低风险,建议开发者在解压tar文件时,验证归档内容或使用强化解压方法,以检测并阻止路径遍历攻击。此外,尽快升级到修复该漏洞的Python版本是长期解决方案,确保系统安全。

延伸问答

Python tarfile模块的漏洞是什么?

Python tarfile模块存在一个高危漏洞(CVE-2025-4517),允许攻击者通过特制的tar文件实现任意文件写入。

该漏洞影响哪些Python版本?

该漏洞影响Python 3.12及以上版本。

如何利用该漏洞进行攻击?

攻击者可以构造恶意tar文件,利用路径遍历攻击向文件系统的任意位置写入文件,例如覆盖/etc/passwd。

如何防范这个漏洞?

建议验证归档内容或使用强化解压以检测并阻止路径遍历,长期解决方案是升级到已修复该漏洞的Python版本。

该漏洞的CVSS评分是多少?

该漏洞的CVSS评分为9.4,属于严重级别。

使用filter='data'解压时会有什么风险?

使用filter='data'解压不受信任的tar文件时,可能导致文件系统任意位置写入,存在严重安全风险。

🏷️

标签

➡️

继续阅读