GHSA-9726-w42j-3qjr: picklescan 存在利用 io.FileIO 实现的任意文件读取漏洞
摘要
picklescan 在低于 0.0.35 的版本中存在一个高严重性漏洞。不安全的 pickle 反序列化允许未经身份验证的攻击者读取任意服务器文件并执行服务器端请求伪造攻击。攻击者可以链接 io.FileIO 和 urllib.request.urlopen 来绕过以远程代码执行为重点的阻止列表,从而将敏感数据(例如 /etc/passwd)外泄到外部服务器。
漏洞详情
受影响的版本
pip 包 picklescan 版本 < 0.0.35。
已修复版本 0.0.35。
描述
概览
该应用程序反序列化不受信任的 pickle 数据。虽然 RCE 关键字(如 os、exec)可能被阻止,但该漏洞利用可以滥用标准库功能:
io.FileIO:在不使用builtins.open的情况下打开本地文件。urllib.request.urlopen:接受文件对象作为 POST 请求的可迭代请求体。- 数据外泄:在反序列化过程中,文件内容直接流式传输到攻击者控制的 URL。
概念验证
|
|
影响
- 任意文件读取
致谢 感谢这个库和您的时间。如果您认为 picklescan 只专注于检测 RCE 类型的漏洞,而添加文件 I/O、HTTP 或任何基于协议的检测可能会导致大量噪音,可以随时关闭此问题。
参考链接
- GHSA-9726-w42j-3qjr
- mmaitre314/picklescan#55
- mmaitre314/picklescan@a01c58d
- https://github.com/mmaitre314/picklescan/releases/tag/v0.0.35
漏洞信息
发布日期 2026 年 1 月 7 日
最后更新 2026 年 1 月 8 日
严重程度 高
CVSS 总体评分 8.8
CVSS v4 基础指标
- 攻击向量:网络
- 攻击复杂度:低
- 攻击前提条件:无
- 所需权限:无
- 用户交互:无
- 受影响系统的机密性:高
- 受影响系统的完整性:高
- 受影响系统的可用性:无
- 后续系统的机密性:无
- 后续系统的完整性:无
- 后续系统的可用性:无
CVSS:4.0 向量
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:P
弱点和CWE
- CWE-22: 路径遍历
- CWE-918: 服务器端请求伪造
来源
- mmaitre314/picklescan
报告者 shivasurya