漏洞详情
安全公告:GHSA-4675-36f9-wf6r 严重程度:高危 (CVSS 评分 8.9) 发布日期:2025年12月26日 更新日期:2025年12月29日
涉及软件包:picklescan (pip)
受影响版本:< 0.0.33
已修复版本:0.0.33
漏洞描述
漏洞概述
Picklescan 未能将 ctypes 模块标记为危险模块,这是一个严重的安全隐患。ctypes 本质上是一个外部函数接口库,可被用于:
- 加载动态链接库 (DLL)
- 直接调用 C 函数
- 操作原始内存指针
这使得攻击者能够通过直接调用系统调用(绕过被拦截的模块)来实现远程代码执行。ctypes 被允许存在的另一个主要问题是,它可以被用来瓦解基于解释器的 Python 沙箱环境,因为它允许直接访问原始内存。
与普通的利用链和绕过技术相比,这是一个更严重的漏洞。如果原始内存访问未被检测到,未来可能被用于许多恶意目的。
概念验证 (PoC)
以下 Python 代码演示了如何利用此漏洞生成一个恶意 pickle 文件,该文件能够绕过最新版本 Picklescan 的检测:
|
|
生成的 pickle 文件 (calc_exploit.pkl) 在加载时,不会被最新版本的 Picklescan 检测为恶意:
|
|
相关参考
CVSS 4.0 评分详情
基础评分向量:CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P
可利用性指标:
- 攻击向量:网络
- 攻击复杂度:低
- 攻击要求:无
- 所需权限:无
- 用户交互:无
受影响系统影响指标:
- 机密性影响:高
- 完整性影响:高
- 可用性影响:高
后续系统影响指标:
- 机密性影响:无
- 完整性影响:无
- 可用性影响:无
关联弱点
- CWE-184:不完整的禁止输入列表 - 产品实现了一种依赖于禁止输入列表的保护机制,但该列表不完整。
- CWE-913:动态管理代码资源控制不当 - 产品未适当限制对动态管理代码资源的读取或写入。
致谢
此漏洞由 0x-Apollyon 报告。