Apa yang terjadi
LogprobsTensors.empty_cpu() di vllm/v1/outputs.py mengalokasikan tensor int32 yang mendasarinya dengan torch.empty(), membiarkannya belum diinisialisasi. Saat model runner mengisi logprobs untuk request yang prefix-nya dilaporkan sebagai dihitung eksternal oleh subclass KVConnectorBase_V1, posisi [0..num_computed_tokens-1] tidak pernah ditulis, dan tokenizer.decode() hilir menemukan nilai int32 sampah dan memunculkan OverflowError, yang menyebar keluar dari EngineCore dan mematikan engine.
Mengapa penting
Satu request API dengan prompt_logprobs (atau logprobs + echo=true) terhadap prefix yang di-cache konektor cukup untuk membuat EngineCore crash dan menjatuhkan semua request yang sedang berjalan di engine tersebut, termasuk lalu lintas penyewa bersama—lintas-penyewa dan dapat diulang sebagai kill-loop. Paparan nyata tertinggi untuk workload lm-eval-harness pilihan ganda (MMLU/ARC/HellaSwag/BBH/PIQA) terhadap vLLM + LMCache (CVSS 7.7).
Vektor serangan
Kirim request dengan prompt_logprobs disetel terhadap prefix yang di-cache konektor untuk membuat engine bersama crash dan menjatuhkan lalu lintas penyewa bersama.
Sistem yang terdampak
vLLM >= 0.8.5, < 0.31.0 (mesin V1 dengan konektor KV).
Mitigasi
Tingkatkan ke vLLM 0.31.0; perbaikan mengganti torch.empty() dengan ID token yang diinisialisasi nol dan logprobs -inf di LogprobsTensors.empty_cpu().