### 漏洞关键信息 - **漏洞名称:** Fickling Blocklist Bypass: cProfile.run() - **漏洞严重性:** High - **受影响的版本:** = v0.1.7 - **CVE ID:** 无 - **弱点:** CWE-184, CWE-502 #### 漏洞描述 Fickling 版本 v0.1.6 及以下不将 Python 的 cProfile 模块视为不安全。因此,使用 cProfile.run() 的恶意 pickle 被标记为 "SUSPICIOUS" 而不是 "OVERLY_MALICIOUS"。如果用户依赖 Fickling 的输出来判断一个 pickle 是否安全可以反序列化,这种误分类可能导致在系统上执行攻击者控制的代码。 #### 影响 任何使用 Fickling 作为 pickle 反序列化安全网关的流程或产品都受到影响。 #### 漏洞详情 The cProfile 模块未被列入 Fickling 的不安全模块导入黑名单中,具体文件为 `fickling/analysis.py`。这是与 CVE-2025-67748 (pty) 和 CVE-2025-67747 (marshal/types) 相同的根因。 #### 漏洞利用步骤 步骤包括创建恶意 pickle,使用 Fickling 分析来确认漏洞,以及加载 pickle 以证明远程代码执行 (RCE) 功能。 #### 修复建议 向 `fickling/analysis.py` 中的不安全导入黑名单添加如下模块: - cProfile - cProfile.run - cProfile.runcx - _lsprof (底层 C 模块) #### 漏洞影响范围 任何依赖 Fickling 检查 pickle 文件安全性的用户或系统,包括但不限于: - ML 模型验证管道 - 模型托管平台(如 Hugging Face, MLflow 等) - 使用 Fickling 的安全扫描工具 - 验证 pickle 艺术品的 CI/CD 管道