何が起きたか
vLLMバージョン0.28.0より前は、LlavaOnevision2プロセッサローダー(llava_onevision2.pyの_load_ov2_processor)にRCE脆弱性を含みます。この関数はTransformersのget_class_from_dynamic_moduleを呼び出してリモートプロセッサクラスをロードしますが、この呼び出しはtrust_remote_codeパラメータを受け入れません — 設定は暗黙的に無視されるため、processing_llava_onevision2.pyに任意のコードをバンドルする悪意のあるモデルは、オペレータが明示的にtrust_remote_code=Falseを設定した場合でもvLLMプロセス権限で実行されます。
なぜ重要か
vLLMは最も広くデプロイされているオープンソースLLM推論サーバーの1つです。この欠陥は、管理者が悪意のあるモデルがコードを実行するのを防ぐために依存している主要なセーフティコントロール(trust_remote_code=False)を回避します。つまり、外部またはユーザー供給のソースからモデルをロードする環境は、設定に関係なく推論コンテナ内の完全なRCEにさらされています。
攻撃経路
攻撃者は、processing_llava_onevision2.pyファイルに任意のコードを含む悪意のあるLlavaOnevision2モデルを公開または供給します。vLLMがモデルをロードする場合(trust_remote_code=Falseが設定されていても)、コードはvLLMプロセス権限で実行されます。
影響を受けるシステム
vLLM < 0.28.0
緩和策
vLLM 0.28.0以降にアップグレードしてください。アップグレードされるまで、モデルソースを審査されたリポジトリに制限し、信頼されていないモデルの自動ロードを回避し、vLLMを最小限のコンテナ権限で実行してください。