
3つの人工知能ライブラリに存在する脆弱性により、侵害されたモデルファイルを読み込むことで攻撃者が悪意のあるコードを実行できる可能性がある。これらの欠陥は、Apple、Salesforce、Nvidiaが作成したオープンソースツールに影響し、Hugging Faceで合計数千万回ダウンロードされているモデルを支えている。
Palo Alto Networksは、AI研究向けに設計された3つのPythonライブラリであるNeMo、Uni2TS、FlexTokにおけるセキュリティ問題を特定した。これらの脆弱性により、攻撃者はAIのメタデータにコードを埋め込み、モデルの読み込み時に自動的に実行させることができる。
3つのライブラリはいずれも、機械学習プロジェクトで広く使われている、Metaが保守する設定ツールHydraを使用している。各ライブラリは、入力を事前に適切に検証しないまま、モデルのメタデータから設定を読み込むためにHydraのinstantiate関数を呼び出している。
Palo Alto Networksは先月時点で、攻撃者がこれらの脆弱性を悪用した証拠は見つからなかったとしている。同社は2025年4月に影響を受けるベンダーへ通知し、公表前に修正する時間を与えた。この脆弱性は少なくとも2020年以降存在していたとみられる。
NvidiaはNeMoライブラリの欠陥をCVE-2025-23304として追跡し、深刻度を「高」と評価した。同社はNeMoバージョン2.3.2で修正をリリースした。SalesforceはUni2TSライブラリの欠陥をCVE-2026-22584として追跡し、同様に深刻度を「高」と評価し、2025年7月31日にパッチを適用した。FlexTokの研究者は昨年6月にコードを更新した。
脆弱性の原因は、ライブラリがHydraのinstantiate関数を使用する方法における見落としにある。保守者はこの関数を自分たちのクラスのインスタンス生成にのみ使う意図だったが、instantiateがクラス名だけでなく任意の呼び出し可能(callable)関数を受け付けることを見落としていた。
攻撃者はこれを利用し、evalやos.systemといったPython組み込み関数に置き換えることができる。概念実証(PoC)テストでは、研究者がbuiltins.execを用いてリモートコード実行を達成した。
Metaはその後、instantiateの使用時にリモートコード実行が可能であることを警告するため、Hydraのドキュメントを更新した。同社は、実行前にターゲット値を危険な関数と照合するブロックリスト機構を追加した。この保護は間接的なインポートによって回避可能である。今月時点で、このブロックリスト機構はHydraのリリース版では利用できない。
Nvidiaは2019年に生成AIフレームワークとしてNeMoの開発を開始した。このライブラリは、モデルの重みと並んでメタデータファイルを含むTARファイルである独自のファイル形式を使用する。NeMoがこれらのファイルを読み込む際、メタデータを検証せずにそのままHydraのinstantiate関数へ渡している。
Hugging Face上の700以上のモデルがNeMo形式を使用している。多くはNvidiaのparakeetモデルを含め、同プラットフォームで最も人気の高い提供物の一つに数えられる。Nvidiaは、実行前に設定を検証する関数を追加することでこの問題を修正した。この関数は、NeMo、PyTorch、および関連ライブラリの承認済みパッケージの許可リストに対して値をチェックする。また、インポートが想定されるクラスおよびモジュールと一致することも検証する。
Palo Altoの発見以前は、これらのライブラリが安全でない可能性を示す兆候はなかった。研究チームは2025年10月、Hugging Face上のモデルで使用されている100種類以上の異なるPythonライブラリを特定し、そのうち約50がHydraを使用していた。これらの形式自体は個別には安全かもしれないが、それらを消費するコードが大きな攻撃対象領域を生み出している。
開発者は一般に、異なる設定を持つ人気モデルの派生版を作成することが多く、しばしば信頼できる機関と無関係な研究者によるものもある。攻撃者は、既存の人気モデルに「利点がある」と称する改変を加えたものを作成し、悪意のあるメタデータを追加するだけでよい。
翻訳元: https://www.databreachtoday.com/flaw-in-ai-libraries-exposes-models-to-remote-code-execution-a-30519