脆弱性の一覧へ戻る
編集部の見出し:fickling:名前解決の抜けで安全チェックを回避
NVD の情報
In Trail of Bits fickling through 0.1.12, a pickle STACK_GLOBAL operand carrying a dotted __qualname__ (for example "Values.read_file") is resolved by pickle's find_class through _getattribute to an arbitrary attribute path rather than to a module-level function. Fickling records only the leading component of the name in its import tracking and renders the operation as a plain import (for instance, 'python -m fickling' displays it as 'from optparse import Values.read_file'), so the trailing attribute reference is never analyzed as a call. The OvertlyBadEvals analysis pass does not flag it, and check_safety() returns LIKELY_SAFE with zero findings. This allows an attacker to reach a class method that performs code execution: optparse.Values.read_file executes exec(open(filename).read(), vars), achieving arbitrary code execution when the crafted pickle is loaded through fickling.load(), which chains check_safety() into pickle.loads() as an explicit security gate. optparse is present in all current CPython 3.x releases (deprecated as of Python 3.13, not removed). This weakness is in the resolution and analysis of dotted attribute-path names, and is distinct from and independently fixable from the module-origin trust weakness tracked as CVE-2026-16760: resolving or flagging dotted attribute-path imports closes this vector while leaving the module-level trust behavior unchanged. This bypass was verified to remain present on the vendor master branch at commit d011709 as of 2026-10-30, after the vendor's October blocklist additions and a new heuristic that flags private stdlib attributes; because the public class method Values.read_file is neither blocklisted nor flagged as a private attribute, it is not addressed by those remediations.
- 公開日
- 2026-10-30
- 最終更新(NVD)
- 2026-10-30
- NVD の状態
- Received
- 脆弱性の種類
- CWE-502、CWE-706
深刻度(CVSS)
- 8.8 HighCVSS 3.1/副/評価:aa17e1a1-c329-4d6e-a1ed-8d0188aea082
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
悪用の状況
CISA KEV には掲載されていません(掲載されていないことは、悪用されていないことの証明ではありません)。
解消方法
- 解消方法の情報なし
「NVD の条件から推定」は、NVD が影響ありとする版の上限から読み取ったもので、修正版とは限りません。「解消方法の情報なし」は、修正が無いという意味ではありません。必ずベンダーの公告で確認してください。
編集部の記載(レポート掲載時)
レポートの編集部がベンダー公告などから転記した内容です。検証済みの値ではないため、必ず出典で確認してください。
2026-10-31 のレポートfickling:名前解決の抜けで安全チェックを回避
0.1.12 以前。PyPI の最新も 0.1.12 で修正版は未確認。
参照(NVD)
NVD から取得:2026-10-30T22:40:39.620Z
This product uses the NVD API but is not endorsed or certified by the NVD.
悪用の確認情報は CISA Known Exploited Vulnerabilities Catalog(NVD 経由で取得)によります。EPSS は FIRST(www.first.org/epss)によります。