Picklescan 因调用 numpy.f2py.crackfortran.param_eval 时缺少检测而存在 RCE 漏洞 · GHSA-cffc-mxrf-mhh4
漏洞详情
包: pip - picklescan
受影响版本: < 0.0.33
已修复版本: 0.0.33
描述
摘要
Picklescan 使用了 numpy.f2py.crackfortran.param_eval,这是一个用于执行远程 pickle 文件的 numpy 函数。
详情 攻击载荷按以下步骤执行:
- 首先,攻击者通过
reduce方法调用numpy.f2py.crackfortran.param_eval函数来构造载荷。 - 然后,当受害者使用 Picklescan 库检查 pickle 文件是否安全,且该库未检测到任何危险函数时,他们决定在此恶意 pickle 文件上使用
pickle.load(),从而导致远程代码执行。
概念验证
|
|
影响
- 任何依赖 picklescan 来检测 PyTorch 模型中恶意 pickle 文件的组织或个人。
- 攻击者可以将恶意代码嵌入 pickle 文件中,这些代码在加载 pickle 文件时保持不被检测但会执行。
- 攻击者可以通过 ML 模型、API 或保存的 Python 对象分发受感染的 pickle 文件。
报告者 清华大学 NISL 实验室 (https://netsec.ccert.edu.cn/about) 的 Pinji Chen (cpj24@mails.tsinghua.edu.cn), 以及 Guanheng Liu (coolwind326@gmail.com)。
参考
- GHSA-cffc-mxrf-mhh4
- mmaitre314/picklescan#53
- mmaitre314/picklescan@70c1c6c
- https://github.com/mmaitre314/picklescan/releases/tag/v0.0.33
其他信息
发布时间: 2025年12月27日 最后更新: 2025年12月29日
严重程度: 中等
弱点
- CWE-94: 代码生成的不当控制(‘代码注入’)
- CWE-502: 不受信任数据的反序列化
GHSA ID: GHSA-cffc-mxrf-mhh4