トレンドマイクロ・ゼロデイ・イニシアチブは、NVIDIAのTransformers4Recライブラリに重大な脆弱性(CVE-2025-23298)を発見しました。この脆弱性により、リモートからルート権限でのコード実行が可能になります。この脆弱性は、Pythonのpickleモジュールを使用してモデルのチェックポイントを読み込む際の安全でない逆シリアライズに起因します。Merlinエコシステムの一部であるTransformers4Recは、レコメンデーションタスクで広く使用されており、Hugging Face Transformersと統合されています。欠陥はload_model_trainer_states_from_checkpoint関数にあり、安全パラメータなしで直接torch.load()を使用するため、悪意のあるpickleファイルにさらされています。pickleの__reduce__メソッドは、逆シリアライズ中に任意のコード実行を許可します。モデルの共有が一般的であり、特にこれらのプロセスは多くの場合昇格された権限で実行されるため、チェックポイントファイルに対する信頼性から、攻撃対象領域は大きくなります。悪意のあるチェックポイントは、モデルの重みがロードされる前にシステムコマンドを実行する可能性があります。現実世界への影響としては、リモートコード実行、権限昇格、データ流出、サプライチェーン攻撃などが挙げられます。NVIDIAは、逆シリアライズを承認されたクラスに制限するカスタムロードメカニズムを実装することで、この脆弱性を修正しました。この事件は、pickleへの依存によるML/AIエコシステムにおける広範なセキュリティ上の課題を浮き彫りにしています。開発者は、信頼できないデータに対してpickleの使用を避け、weights_only=Trueを使用し、信頼できるクラスを制限し、Safetensorsなどの安全なシリアライズ形式を検討するよう強く求められています。組織は、モデルの来歴を監査し、署名を実装し、モデルのロードをサンドボックス化する必要があります。MLコミュニティは、pickleから離れ、フレームワーク設計におけるセキュリティを優先する必要があります。
load_model_trainer_states_from_checkpoint関数にあり、安全パラメータなしで直接torch.load()を使用するため、悪意のあるpickleファイルにさらされています。pickleの__reduce__メソッドは、逆シリアライズ中に任意のコード実行を許可します。モデルの共有が一般的であり、特にこれらのプロセスは多くの場合昇格された権限で実行されるため、チェックポイントファイルに対する信頼性から、攻撃対象領域は大きくなります。悪意のあるチェックポイントは、モデルの重みがロードされる前にシステムコマンドを実行する可能性があります。現実世界への影響としては、リモートコード実行、権限昇格、データ流出、サプライチェーン攻撃などが挙げられます。NVIDIAは、逆シリアライズを承認されたクラスに制限するカスタムロードメカニズムを実装することで、この脆弱性を修正しました。この事件は、pickleへの依存によるML/AIエコシステムにおける広範なセキュリティ上の課題を浮き彫りにしています。開発者は、信頼できないデータに対してpickleの使用を避け、weights_only=Trueを使用し、信頼できるクラスを制限し、Safetensorsなどの安全なシリアライズ形式を検討するよう強く求められています。組織は、モデルの来歴を監査し、署名を実装し、モデルのロードをサンドボックス化する必要があります。MLコミュニティは、pickleから離れ、フレームワーク設計におけるセキュリティを優先する必要があります。