目次(5)

CVE-2026-16760
CVE-2026-118938
Python の pickle ファイルを検査するツール fickling(0.1.12 まで)で、危険な pickle を「ほぼ安全(LIKELY_SAFE)」と誤判定してしまう迂回が 2 件公開されました。CVE-2026-16760 と CVE-2026-118938 で、GitHub Advisory の深刻度はどちらも High、CVSS v3.1 は 8.8(CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)、CWE-502(信頼できないデータの逆シリアル化)です。CISA の KEV には載っていません。EPSS は 2 件とも FIRST に値がなく、公開直後のため未算出です。
何が起きるか
- fickling は、
fickling.load()の中で安全確認(check_safety())をしてから pickle を読み込みます。この確認が誤って「安全」を返すと、細工された pickle がそのまま読み込まれ、利用者のプロセスの権限でコードが動きます。 - CVE-2026-16760: 標準ライブラリのモジュールから取り込まれた名前を、中身を調べずに「安全な取り込み」として扱ってしまいます。そのため、標準ライブラリ内の危険な関数を呼ぶ pickle が検出されません。勧告が示す例は、任意コードの実行(
dataclasses._create_fn、mailcap.findmatch)と、任意のパスへのファイル書き込み(readlineの履歴ファイル書き出し)です。前者の 2 つは Python 3.13 でモジュールや関数が削除されているため、3.12 までが対象です。 - CVE-2026-118938: 名前にドットを含む指定(例
Values.read_file)を、先頭の部分しか記録せず通常の取り込みとして表示するため、末尾の属性が呼び出しとして調べられません。勧告はoptparse.Values.read_file(ファイルの内容をexecで実行する)を例に、任意コードの実行ができるとしています。 - 2 件は原因が別で、別々に直せる問題だと勧告は説明しています。
影響を受ける版と修正
- 勧告は「0.1.12 まで」としています。0.1.12 は PyPI の最新版で、2026 年 6 月 26 日(UTC)の公開です(10/31 時点で、これより新しい版は PyPI にありません)。
- 修正版のリリースはまだ確認できません。勧告は、10/30 時点でベンダーの master ブランチに一部の対策(上の 3 モジュールを禁止リストへ追加)が入った、リリースは保留中、と書いています。
- 勧告が挙げるコミット d011709 を GitHub で確認したところ、件名は「Analyze PyTorch ZIP records with PyTorch reader」(10/30)で、変更も cli.py・loader.py・pytorch.py とテストでした。禁止リストを変える内容は確認できず、勧告の説明と合いません。参照先のコミット番号がずれている可能性があります(推定)。
- 勧告は、CVE-2026-118938 の迂回は master の同じ時点でも残っているとしています。つまり、どちらも利用可能な修正版はまだありません。
悪用の条件
- fickling を「pickle を読み込んでよいかの判定」に使い、
LIKELY_SAFEならfickling.load()などで読み込む運用をしている。 - 攻撃者が、その pickle ファイル(機械学習モデル、キャッシュ、受け取ったデータなど)を差し込める。CVSS では、利用者が読み込む操作(UI:R)が必要です。
対応
- fickling を使っている箇所を洗い出し、判定結果だけを根拠に pickle を読み込んでいないか確認します。
- 出所の分からない pickle は、fickling が「安全」と返しても読み込みません。可能なら pickle 以外の形式(safetensors、JSON など)へ移します。
- やむを得ず読む場合は、使用中の Python が 3.13 以降かを確認し、隔離された環境(コンテナなど権限の小さい環境)で読み込みます。ただし、
optparseを使う CVE-2026-118938 は 3.13 でも通ります。 - 修正版が出たら更新します。リリースの有無は PyPI とリポジトリのリリース欄で確かめてください。
未確認の点
- 修正版の版番号と時期は未確認です。上のコミットが対策に当たるかも、確認できていません。
- NVD は 10/30 に登録されましたが、状態は Received(NVD 自身の評価は未確認)です。上の CVSS は GitHub の値です。
- 悪用の報告は見つかっていません(KEV 掲載なし)。EPSS は未算出です。
- 実際の環境での再現は確認していません。記載は勧告と公開情報に基づきます。
この記事について
- 執筆・編集
- World Security 編集部
出典
- GitHub Advisory GHSA-cgc3-662q-qmrc(CVE-2026-16760)(GitHub)
- GitHub Advisory GHSA-6jfm-qx2v-27jg(CVE-2026-118938)(GitHub)
- 勧告が参照するコミット d011709(GitHub)
- PyPI fickling 0.1.12(PyPI)
- NVD CVE-2026-16760(NIST NVD)
- NVD CVE-2026-118938(NIST NVD)
- FIRST EPSS API(FIRST)
- CISA Known Exploited Vulnerabilities Catalog(JSON)(CISA)




