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 tarfile模块的漏洞是什么?

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

该漏洞影响哪些Python版本?

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

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

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

如何防范这个漏洞?

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

该漏洞的CVSS评分是多少?

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

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

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

➡️

继续阅读