Skip to main content

SGLang EUVDEUVD-2026-103024

| CVE-2026-111392 MEDIUM
Insufficient Verification of Data Authenticity (CWE-345)
2026-10-16 VulnCheck GHSA-fgff-m398-2gh5
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach /generate on shared multimodal server
  2. Delivery
    Predict or learn victim's mm_hash
  3. Exploit
    Submit crafted image under that hash
  4. Execution
    Alias victim's cached KV entry
  5. Impact
    Disclose 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).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

sglang 0.5.13 ≤0.5.21

Affected Packages

euvd sglang no fix

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

Vendor (VulnCheck) PRIMARY 6.3 MEDIUM
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
vuln.today AI 4.8 MEDIUM

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).

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Medium
popular LLM inference engine, but only multimodal prefix-cache deployments are affected
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Sglang

View all
CVE-2026-112082 HIGH POC
7.7 Oct 19

Unauthenticated remote attackers can crash the SGLang inference server (versions up to and including 0.5.19) by calling

CVE-2026-15969 CRITICAL
9.8 Jul 30

Remote code execution in SGLang (versions up to and including 0.5.15) allows unauthenticated attackers to run arbitrary

CVE-2026-3059 CRITICAL
9.8 Mar 12

SGLang's multimodal generation module deserializes untrusted data with pickle.loads() over an unauthenticated ZMQ broker

CVE-2026-3060 CRITICAL
9.8 Mar 12

SGLang's encoder parallel disaggregation system is vulnerable to unauthenticated RCE through pickle deserialization in t

CVE-2026-7304 CRITICAL
9.8 May 18

Unauthenticated remote code execution in SGLang (the LLM/multimodal generation serving runtime) affecting version 5.10 a

CVE-2026-5760 CRITICAL
9.8 Apr 20

Remote code execution in SGLang 0.5.9's /v1/rerank endpoint allows unauthenticated attackers to execute arbitrary code b

CVE-2026-15976 CRITICAL
9.8 Jul 30

Remote code execution in SGLang (versions up to and including 0.5.15) allows attackers to run arbitrary code on the infe

CVE-2026-86793 CRITICAL
9.8 Sep 11

Remote code execution in SGLang AI inference servers allows unauthenticated attackers to run arbitrary code through the

CVE-2026-15971 CRITICAL
9.8 Jul 30

Remote code execution in SGLang (versions ≤ v0.5.15) allows attackers to achieve arbitrary code execution through the op

CVE-2026-7301 CRITICAL
9.8 May 18

Unauthenticated remote code execution affects SGLang, an LLM/multimodal inference-serving framework, at version 5.10, wh

CVE-2026-93034 CRITICAL
9.8 Oct 08

Unauthenticated remote code execution in SGLang versions through v0.5.20 arises from unsafe pickle deserialization in th

CVE-2026-93088 CRITICAL
9.8 Sep 22

Unauthenticated remote code execution in SGLang 0.5.11 through 0.5.14 occurs when the multimodal generation runtime is l

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy