何が起きたか
vLLMのVideoMediaIO.load_base64のフレーム数保護は、リクエストレベルのmedia_io_kwargs.videoを通じてVideoMediaIO.num_framesを上書きすることで回避できました。num_framesを-1に設定すると無制限ブランチが選択され、すべてのフレームを分割してデコードするため、大きなインライン動画/jpegにより、後段の検証で拒否される前にAPIフロントエンドが複数ギガバイトのフレーム配列を割り当てる可能性があります(CWE-400、CVSS 7.5)。
なぜ重要か
リソース消費はエンジン検証の前にAPIフロントエンドで発生するため、動画対応のマルチモーダルデプロイメントでは、単一のチャットリクエストで過剰なメモリとCPUを消費し、サービングプロセスをクラッシュまたはOOM強制終了させる可能性があります。
攻撃経路
media_io_kwargs.video.num_frames = -1を指定した大きなインライン動画/jpegを送信して、すべてのフレームのデコードを強制します。
影響を受けるシステム
vLLM 0.18.0以上、0.31.0未満(動画/jpeg MediaIOパス)。
緩和策
vLLM 0.31.0にアップグレードしてください(PR #58830でリクエストごとのmedia_io_kwargsがデフォルトで拒否されます。信頼できるクライアントのみ--trust-request-mm-kwargsでオプトインしてください)。