CVE-2025-32434: PyTorch フレームワークの脆弱性 weights_only=True がシェイプアップし、悪意のあるモデルが任意のコード実行を引き起こす

この脆弱性はPyTorchモデルのデシリアライズにおける基本的な設計上の欠陥に起因しています。PyTorchモデルはモデルの重みを保存するためにPickleフォーマットを使用しており、torch.load()によるロードをサポートしています。悪意のあるモデルによるコード実行を防ぐため、公式ドキュメントでは weights_only=True パラメータの使用を強く推奨しています。

突破口: セキュリティ研究者の Ji'an Zhou が、このパラメータの "fuse" をバイパスできることを発見しました。攻撃者は、weights_only=Trueのときにデシリアライズ検証メカニズムを無効にする特別なモデルファイルを作成し、モデルのロード時に任意のPythonコードを実行し、PyTorchプロセスと同じシステム特権を得ることができます。

攻撃シーン:

サプライチェーン汚染:悪意のあるアクターが、バックドア付きの事前訓練済みモデルをHugging Faceにアップロードし、開発者がダウンロードしてアプリに組み込むことで、自動的にRCEを誘発する。

クラウド環境の横移動:侵害されたモデルは、クラウドストレージ(S3、GCS)やデータベース認証情報にアクセスするための踏み台として使用できる。

大量導入の危険性:自律走行、医療診断、金融モデリングなどの主要分野で数百万人のPyTorchユーザーがいる。

技術的な深さ:この脆弱性は、Pickleデシリアライザーがオペコードを逐次的に解釈し、全文検証を待たずに悪意のある命令に遭遇するとすぐに実行することにあります。攻撃者は、ファイルの先頭に悪意のあるロードを挿入し、コードをトリガーし、ファイル構造を破壊するバイトを挿入することで、Picklescanのようなブラックリストツールの検出を逃れることができます。

修正と影響: PyTorch 2.6.0用のパッチがリリースされているが、エンタープライズ向けのアップグレードサイクルに遅れがある。推奨: 信頼できないソースからのモデルを無効にする、SafeTensors フォーマットの置換を有効にする、モデルファイルの整合性検証(ハッシュチェックサム)を実装する、モデルのロード環境を分離する。

CVE-2025-32434: PyTorch フレームワークの脆弱性 weights_only=True がシェイプアップし、悪意のあるモデルが任意のコード実行を引き起こす

Previous:

Next: