Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach /generate on shared multimodal server
-
DeliveryPredict or learn victim's mm_hash
-
ExploitSubmit crafted image under that hash
-
ExecutionAlias victim's cached KV entry
-
ImpactDisclose image content or corrupt victim response
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Data authenticity verification
|
| Exploitation Conditions | Applies to SGLang servers serving multimodal models with the prefix-cache (KV cache) active, where caller-supplied mm_hashes are honored - the default behavior in versions through 0.5.21 before the fix introduced the opt-in --trust-caller-mm-hashes flag. The attacker must send requests to the /generate endpoint and must know or predict the content hash used for a victim's image to alias its cached KV entry; this hash-prediction requirement (reflected as AC:H/AT:P) is the primary limiting factor. Exploitation is further limited to shared/multi-tenant deployments where one server processes multiple parties' requests; single-tenant or non-multimodal deployments are not meaningfully exposed. No user interaction or authentication is required. |
| Impact | This is a genuine but moderate-priority multi-tenant data-integrity/disclosure flaw, not a hair-on-fire issue. The input CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N, score 6.3 Medium) is internally consistent with the description: exploitation is network-reachable via /generate and unauthenticated (PR:N), but carries High complexity (AC:H) and a Present attack requirement (AT:P) because the attacker must know or predict another request's mm_hash to alias its cached KV - a non-trivial prerequisite that materially lowers real-world risk. Impact is correctly bounded as Low confidentiality and Low integrity (cross-request image disclosure or response corruption), with no availability impact. No EPSS score was provided; the CVE is NOT in CISA KEV and no public exploit code is referenced, so there is no public exploit identified at time of analysis. The signals do not conflict: a mid-range CVSS, absence of KEV/POC, and a VulnCheck research origin together point to a credible, vendor-confirmed weakness that is realistically exploitable only against multimodal SGLang deployments where an attacker can guess or learn the victim's content hash. Note the source-code evidence clarifies the mechanism: in vulnerable versions caller-supplied mm_hashes were trusted, and the fix gates this behind an opt-in --trust-caller-mm-hashes flag (default off). |
| Exploit ScenarioDerived | An attacker sends requests to a shared multimodal SGLang inference server's /generate endpoint, supplying mm_hashes that match the content hash of another tenant's image. Because SGLang trusts the caller-declared hash as the prefix-cache key, the attacker's request either reuses (and thereby observes effects of) the victim's cached KV entries or corrupts what the victim receives. No public exploit code is referenced, and success requires the attacker to know or predict the target hash (AC:H/AT:P). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Multimodal prefix-cache poisoning in SGLang through 0.5.21 lets remote unauthenticated attackers alias one image's cached KV entry onto a different image by supplying a caller-controlled mm_hashes value on the /generate endpoint, enabling cross-request image content disclosure or response corruption in shared multi-tenant deployments. The behavior was the default in affected releases because the tokenizer manager trusted GenerateReqInput.mm_hashes as the multimodal prefix-cache identity before the fix; exploitation requires the attacker to know or predict the victim's content hash, which is the main limiting factor (AC:H/AT:P), and only deployments running multimodal models with the KV/prefix cache active and serving multiple parties are meaningfully exposed. No public exploit code and no confirmed active exploitation were identified at time of analysis, and independent assessment rates this a moderate-priority multi-tenant data-integrity/disclosure flaw rather than an urgent one.
RemediationAI
Upgrade SGLang to a build that includes the fix from PR #44653 (https://github.com/sgl-project/sglang/pull/44653), which stops honoring caller-supplied mm_hashes by default and gates the old behavior behind the new --trust-caller-mm-hashes flag; a released tagged version containing this change was not independently confirmed from the provided data, so verify the patch is present in your target release before treating an upgrade as complete. After upgrading, do NOT enable --trust-caller-mm-hashes unless an external KV router legitimately requires hash alignment and you can guarantee that declared hashes identify the real image content - with the flag on, any client can still alias one image's cached KV onto another image's content, which the upstream flag documentation calls out as both a correctness bug and a cross-tenant disclosure risk. If you cannot patch immediately, the most direct compensating control is to strip or reject client-supplied mm_hashes at an ingress proxy or API gateway in front of /generate, at the cost of breaking external KV routers that rely on caller-declared hashes; alternatively disable the multimodal prefix cache (or prefix caching generally) for multi-tenant endpoints, which restores content-based hashing but reduces throughput and increases latency for multimodal workloads; and isolate or restrict the /generate endpoint to a single trusted tenant, which removes the cross-tenant disclosure precondition entirely.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
SGLang is an LLM serving framework whose RadixAttention prefix cache keys cached KV blocks on a hash derived from the request's content - for multimodal inputs, the hash of the processor feature tensor for each image. In versions through 0.5.21, the tokenizer manager honored a client-supplied mm_hashes list on GenerateReqInput and assigned each value directly to MultimodalDataItem.hash via set_hash(), which short-circuits the internal hash_feature() recompute performed in set_pad_value(). Because that value becomes the derived pad_value and therefore the prefix-cache key for the image segment, the cache identity of an image is effectively attacker-controlled. The root cause is CWE-345 (Insufficient Verification of Data Authenticity): the server accepts a self-declared identifier for content without binding it to the actual bytes of the image, so a request carrying image B under image A's hash will reuse (or overwrite) A's cached KV rather than computing its own. The upstream fix in PR #44653 adds a --trust-caller-mm-hashes server argument (default False) and an _apply_caller_mm_hashes() path that ignores caller hashes with a one-time warning unless the flag is explicitly enabled, falling back to the content-based hash_feature() recompute - mirroring the embedding path, which never accepted caller mm_hashes. Note the flag is intentionally retained for external KV routers that compute their own content-addressed hashes and need sglang's prefix-cache key to align; the upstream comment on the flag explicitly documents the cross-tenant disclosure and correctness risk of enabling it.
Know when Sglang gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network-reachable unauthenticated /generate endpoint (AV:N/PR:N/UI:N), but attacker must predict the victim hash (AC:H); impact is cross-request disclosure and response corruption within one trust authority (C:L/I:L, S:U).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Unauthenticated remote attackers can crash the SGLang inference server (versions up to and including 0.5.19) by calling
Remote code execution in SGLang (versions up to and including 0.5.15) allows unauthenticated attackers to run arbitrary
SGLang's multimodal generation module deserializes untrusted data with pickle.loads() over an unauthenticated ZMQ broker
SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated RCE through pickle deserialization in t
Unauthenticated remote code execution in SGLang (the LLM/multimodal generation serving runtime) affecting version 5.10 a
Remote code execution in SGLang 0.5.9's /v1/rerank endpoint allows unauthenticated attackers to execute arbitrary code b
Remote code execution in SGLang (versions up to and including 0.5.15) allows attackers to run arbitrary code on the infe
Remote code execution in SGLang AI inference servers allows unauthenticated attackers to run arbitrary code through the
Remote code execution in SGLang (versions ≤ v0.5.15) allows attackers to achieve arbitrary code execution through the op
Unauthenticated remote code execution affects SGLang, an LLM/multimodal inference-serving framework, at version 5.10, wh
Unauthenticated remote code execution in SGLang versions through v0.5.20 arises from unsafe pickle deserialization in th
Unauthenticated remote code execution in SGLang 0.5.11 through 0.5.14 occurs when the multimodal generation runtime is l
EUVD-2026-103024
GHSA-fgff-m398-2gh5
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB