Description
SGLang through 0.5.21 trusts caller-supplied mm_hashes values as the multimodal prefix-cache key, allowing remote attackers to poison cached KV entries across requests. Attackers can send a different image under a known or predicted hash via /generate to disclose another request's image content or corrupt victims' responses.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| sgl-project | sglang | 0.5.13 – ≤ 0.5.21 | — |
References
- https://github.com/sgl-project/sglang/issues/44641 issue-tracking
- https://github.com/sgl-project/sglang/blob/v0.5.21/python/sglang/srt/managers/tokenizer_manager.py#L1183-L1215 technical-description
- https://github.com/sgl-project/sglang/blob/v0.5.21/python/sglang/srt/managers/io_struct.py#L205-L215 technical-description
- https://github.com/sgl-project/sglang/pull/44653 patch issue-tracking
- VulnCheck Advisory: SGLang through 0.5.21 KV Cache Poisoning via mm_hashes in /generate third-party-advisory