Hugging Faceの画像生成AIライブラリ「Diffusers」に重大な脆弱性、任意のコード実行が可能に
要点
-
AIモデル共有サイト「Hugging Face」の主要ライブラリである「Diffusers」に、重大なセキュリティ脆弱性「FaceHugger」が発見されました。
-
この脆弱性を悪用されると、信頼できないモデルを読み込んだマシンの上で、悪意あるコードが密かに実行される恐れがあります。
-
脆弱性の根本原因は、モデルのダウンロード時の検証処理と使用処理の時間差(TOCTOU)にあります。
-
すでに2026年5月にリリースされた修正済みバージョン「0.38.0」へのアップデートや、信頼できるモデルのみを使用するなどの回避策が推奨されています。
-
AIモデル共有プラットフォームのHugging Faceが提供するPythonライブラリ「Diffusers(ディフューザーズ)」に、深刻度の高い3つのセキュリティ脆弱性が存在することが判明した。セキュリティ企業のZafran Labsの研究者が2026年7月末に分析を公表し、これらの脆弱性を総称して「FaceHugger」と命名した。これらの脆弱性は、信頼できないコードの実行を防ぐための安全対策をバイパスする設計になっており、悪意あるモデルを読み込むだけでシステム上で任意のコードを実行される危険性があるという。
広く普及するライブラリとAIサプライチェーンの懸念
Diffusersは、画像や動画、音声を生成するための最先端の「拡散モデル」(ノイズからデータを生成するAIアルゴリズム)をローカル環境で手軽に動作・検証させるためのPythonパッケージである。ペピ・テック(pepy.tech)の統計によれば、このパッケージは2026年7月単体で810万回以上ダウンロードされており、AI開発において極めて大きな支持を得ている。
現在、Hugging Faceは「AI時代のGitHub」と称されるほど、企業開発や研究において欠かせないプラットフォームとなっている。同社の提供するライブラリやモデルリポジトリは、多くのエンタープライズ環境の製品ライン、CI/CD(ソフトウェアのテストやビルドなどの開発工程を自動化する仕組み)、およびコンテナイメージに深く組み込まれている。そのため、Diffusersのような基盤ライブラリに存在する脆弱性は、AI技術を用いたサプライチェーン全体に対する広範な攻撃の足がかりになり得ると研究者は指摘している。
安全機能を回避する「TOCTOU」問題
Diffusersの主な機能の一つに、Hugging Faceのハブリポジトリからモデルをローカル環境に読み込む「DiffusionPipeline.from_pretrained」というAPIがある。このAPIは、モデルの読み込み時に設定ファイルやコンポーネントクラス、そしてカスタムパイプライン(特定の生成タスクを行うためにユーザー自身が定義した処理の流れ)のコードを実行する。
この読み込みプロセスには、モデルリポジトリ内のカスタムPythonコードを実行するかどうかを制御するセキュリティ用の「trust_remote_code」というパラメータが用意されている。デフォルトや「False」に設定されている場合、検証されていないコードの実行をブロックし、意図しない不正コードの実行を防ぐ安全対策として機能するはずだった。
しかし、Zafran Labsの調査により、これらの安全チェック処理が実行されるタイミングと、実際にコードが読み込まれるタイミングのズレを突く「TOCTOU(Time-of-Check to Time-of-Use:検査から使用までの時間差)」の欠陥が明らかになった。モデルのダウンロード処理が「アトミック(単一の不可分な処理)」ではなく、2つの連続したHTTPリクエストによって行われており、安全チェックが第1段階の処理にしか適用されていない。このため、第1段階と第2段階の間にファイルを改ざんするなどの手法により、安全対策を容易にバイパスできるという。
報告された3つの深刻な脆弱性
今回明らかになった「FaceHugger」には、以下の3つの脆弱性が含まれている。
-
CVE-2026-44827(CVSSスコア 8.8)
カスタムパイプラインの読み込みフローにおけるコードインジェクション(外部から不正なプログラムを注入して実行させること)の脆弱性。リポジトリ内に「None.py」という特定の名前のファイルを用意することで、ユーザーが「trust_remote_code=False」を指定しているか、または指定を省略している場合であっても、それを無視してカスタムコードを強制的に読み込ませることができる。CVSS(脆弱性の深刻度を示す指標)で8.8という高い脅威度が付けられている。 -
CVE-2026-45804(CVSSスコア 7.5)
競合状態(レースコンディション:複数の処理が同時に実行されることで予期せぬ結果を引き起こす現象)を利用した脆弱性。モデルのダウンロードAPIであるhf_hub_downloadとsnapshot_downloadのHTTPコールの実行の合間に設定ファイルを変更することで、リポジトリに悪意あるコードを割り込ませて実行させることが可能になる。 -
CVE-2026-44513(CVSSスコア 8.8)
上記と同様に、カスタムパイプラインの読み込み時に「trust_remote_code=False」をバイパスするコードインジェクション脆弱性。ユーザーの設定に関わらず、攻撃者が用意した任意のコードを実行させることができる。
対策と推奨される回避策
これらの脆弱性は、すでに2026年5月初旬にリリースされた修正版「Diffusers 0.38.0」において対処されている。「DiffusionPipeline.from_pretrained」をカスタムパイプラインとともに実行するすべてのユーザーがこの影響を受けるため、開発者には速やかなアップデートが推奨されている。
研究者は、AIリポジトリから取得されるファイルが単なるデータとして扱われがちであることを問題視している。実際には、設定ファイルやローダー、カスタムコードが静かに実行可能なコードへと変換され、モデルの通常読み込み処理がシステム乗っ取りのための初期ベクター(侵入経路)に変化するリスクがあると警鐘を鳴らす。
もし即座にパッチを適用できない場合、ライブラリのメンテナーは、完全に信頼でき、事前に監査を行ったソースから提供されたモデル名やカスタムパイプライン、ローカルスナップショットディレクトリのみを使用して「from_pretrained」を呼び出すよう、回避策を提示している。