注目

脆弱性 / VULNERABILITIES / ML LIBRARY

Hugging Face Transformersに同意確認前の不正キャッシュ書き込み — CVE-2026-80047、修正版は未提供

米CERT/CCは9月1日、機械学習ライブラリHugging Face Transformersのバージョン4.49.0から5.8.1に、信頼確認の前に攻撃者のPythonファイルをローカルに書き込む脆弱性があると報告した。実行自体は同意で抑止されるが、拒否してもファイルは残り、後の正規読み込み時に使われるおそれがある。JVNも9月2日に注意喚起を出した。

ソフトウェア

米カーネギーメロン大学のCERT/CCは2026年9月1日、機械学習ライブラリHugging Face Transformersに、リモートのコードを同意確認より先にディスクへ書き込む脆弱性があると報告した(脆弱性ノートVU#456290、CVE-2026-80047)。対象はバージョン4.49.0から5.8.1で、IPAとJPCERT/CCが運営するJVNも9月2日に注意喚起(JVNVU#97909245)を出し、CERT/CCの報告の参照を呼びかけている。

同意の前に書き込まれる仕組み

Transformersは自然言語処理や画像・音声・動画などのモデルを扱う代表的なライブラリで、学習と推論の双方で広く使われている。問題があるのは**GenerativePreTrainedModel.load_custom_generate()**という機能で、リモートのモデル倉庫にあるカスタム生成用ファイル(custom_generate/generate.py)を取得してキャッシュする際、trust_remote_code(リモートコードへの信頼確認)の表示より先に取得と書き込みを行ってしまう

実行自体は同意の仕組みで正しく抑止されるものの、最初のファイル書き込みは無条件で、取り消しもできない。利用者が信頼確認で「拒否」を選んでも、攻撃者のファイルは~/.cache/huggingface/modulesに残り続ける。AutoConfigやAutoModelなど他の読み込み経路はすべて確認を先に行うため、今回の挙動はライブラリ全体の安全ルールから外れているとCERT/CCは指摘している。原因はdynamic_module_utils.py内の無条件コピー処理だ。

残ったファイルが後の実行に使われるおそれ

攻撃者は悪意あるgenerate.pyを含むモデル倉庫を公開し、利用者がその参照を読み込もうとするだけで書き込みが起きる。特別な権限も、最初の読み込み試行以外の操作もいらない。

CERT/CCが示した影響は次の通りだ。キャッシュのパスを使い回す環境では、残った攻撃者のファイルが後の正規のモデル読み込み時に使われ、意図しないキャッシュ済みコードの実行につながるおそれがある。拒否したつもりでも端末に残る点が、通常の同意フローとの大きな違いだ。

修正版はなく、CERT/CCが示した当面の対応

公表時点でベンダーからの修正版や助言はない。CERT/CCは当面の対応として、信頼できないモデル倉庫に対してload_custom_generate()を使わないこと、Hugging Faceのモジュールキャッシュを定期的に点検・削除して想定外の内容を取り除くことを挙げている。実装者向けには、信頼確認をリモート取得や書き込みより前に行う設計を求めている。脆弱性を報告したのはPrasanna Dabi氏で、文書はBob Kemerer氏が執筆した。Hugging Faceへの通知は2026年8月4日に行われている。

国内でも生成AIの開発・検証でTransformersを使う組織は多く、利用バージョンの確認とキャッシュの点検が参考になる。JVNの注意喚起が出た段階であり、今後のベンダー対応の有無にも注意したい。

出典

この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。