Python标准库tarfile模块存在任意文件写入高危漏洞,PoC已公开
内容提要
安全研究人员发现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文件时,可能导致文件系统任意位置写入,存在严重安全风险。