CVE-2026-22608Fickling是Python生态中用于pickle序列化数据反编译和静态分析的工具。在0.1.7版本之前,该工具存在严重的安全漏洞,允许攻击者通过绕过安全扫描机制实现远程代码执行(RCE)。具体而言,ctypes模块和pydoc.locate函数未被明确阻止,攻击者可以将这两个功能链接使用,在扫描器报告文件为LIKELY_SAFE(可能安全)的情况下,实际执行任意Python代码。此漏洞影响所有使用Fickling进行pickle文件安全检测的场景,可能导致依赖该工具进行安全防护的系统被攻破。
漏洞根源在于Fickling的pickle安全扫描机制存在缺陷。在Python pickle序列化中,某些内置模块可用于执行代码。攻击者利用ctypes模块的动态库加载功能和pydoc.locate函数的动态代码定位能力,构建恶意pickle对象。具体攻击手法为:首先通过pydoc.locate获取危险函数的引用,然后使用ctypes调用系统函数或直接执行代码。由于Fickling在0.1.7之前的版本未对pydoc.locate进行拦截,同时ctypes模块也未被禁止,导致安全扫描器误判文件安全性。攻击者可以构造看似无害但实际包含恶意payload的pickle文件,当目标系统使用Fickling检测后认为安全而执行时,即触发RCE。值得注意的是,即使是其他知名pickle扫描工具如picklescan同样存在此缺陷,未能阻止pydoc.locate的使用。