何が起きたか
vLLMの分離されたprefill/decodeサービング アーキテクチャは、拒否された要求のデコード側メタデータをリリースできないため、認証されていないクライアントからのmax_tokens=0要求のストリームがワーカーメモリを枯渇させ、ワーカーの再起動を強制できます。
なぜ重要か
vLLMは最も広く展開されているオープンソースLLM推論エンジンの1つです。一般的なプロダクション スケーリング パターン(disaggregated serving)に対する認証なしのリモートDoS攻撃により、認証を必要とせずにそれに依存するアプリケーションの推論容量をダウンさせることができます。
攻撃経路
リモート攻撃者はmax_tokens=0を含む要求を送信します。これらは拒否されますが、デコード側メタデータは決してクリーンアップされないため、無制限に蓄積されてデコードワーカーメモリが枯渇し、ワーカーが再起動するまで続く推論サービスに対するサービス拒否が発生します。
影響を受けるシステム
vLLM 0.29.0以前(disaggregated prefill/decodeデプロイメント)
緩和策
この問題に対処するvLLMパッチにプロジェクトのGitHubセキュリティトラッカーから アップグレードしてください。その間、disaggregatedデプロイメント内のデコードワーカーメモリを監視してください。