vLLM 推論エンジンが P/D 分離構成の競合状態により KV キャッシュを越権読み取り、データ漏えいとサービス中断を引き起こす
欠陥はプリフィルとデコードの間の KV ブロック租約管理にあります。リクエストがオーケストレータに既定の租約期限を超えて滞留すると、プロデューサは KV キャッシュブロックを回収して再利用しますが、コンシューマは期限切れの遠隔ブロック ID のまま読み取ります。この時系列の競合により、コンシューマは他リクエストのハイブリッド注意状態または循環状態を黙って読み込みます。攻撃者はデータを混同させ、あるいは特定の入力で CUDA の不正アドレスエラーを起こして推論エンジン全体をクラッシュさせ、機密性・完全性・可用性を深刻に損ないます。
コンポーネント
vLLM は高性能な大規模言語モデル推論フレームワークです。Transformer の注意機構の計算とメモリ管理を最適化し、プリフィルとデコードを分離した分散構成で GPU 利用率を最大化します。NIXL などの下位通信ライブラリでデバイス間の効率的なテンソル転送と状態同期を行い、高同時・低遅延の企業向け AI を支えます。
種別
Race Condition (CWE-362)
リポジトリ
対処方法
- データ転送層でプリフィルブロック租約の有効性を厳格に検証し、コンシューマが読み取り前に租約期限を確認するようにしてください。長時間待機するリクエストの状態を保つハートビートによる租約更新を導入し、無効な読み取りを検出したときは処理を続けず失敗させて、競合を除いてください。
litellm プロキシの認可論理の欠陥により遠隔の攻撃者が全アクセス権を得てシステムの完全性を破壊
granted_scope が ID-JAG アサーションの scope 宣言を解析するとき、欠落値と空文字列を区別しないため、空の scope が無制限のグローバル資格情報へ誤って対応付けられます。攻撃者は空の scope を含む有効な署名トークンでネットワークリクエストを送り、ルート単位の細粒度アクセス制御を迂回して、プロキシ背後のすべての LLM および MCP 推論インターフェースを制限なく呼び出せ、機密性と完全性が深刻に損なわれます。
コンポーネント
litellm は大規模言語モデル呼び出し向けの統一インターフェースプロキシです。下位の異種モデルの差を隠し、標準化された API を提供します。中核機能はルーティング、鍵管理、リクエスト認証で、ID-JAG などのアイデンティティアサーションによりマイクロサービスや MCP リソースへのアクセス制御と権限分離を行います。
種別
Improper Authorization (CWE-285)
リポジトリ
対処方法
- claim フィールドの存在と内容の有効性を厳格に区別し、None ではないが空または空白の scope 宣言には無効スコープとして拒否を返してください。そのフィールドが完全に欠落したアサーションにのみ既定の資格情報を与え、空文字列の回帰テストを追加して認可論理を堅牢にしてください。