A multimodal inference cache is only safe when its identity represents the actual content and the tenant's allowed reuse scope. SGLang issue 44641 describes the native /generate endpoint accepting client-supplied mm_hashes rather than independently recomputing hashes for image content in affected versions. After one image has entered the cache, a second…
Case · DiggingBeagle record
SGLang accepts caller-supplied image hash as cache identity in native inference requests
The published reproduction shows an image request reuse cached context from a different image when clients supply misleading multimodal hash identifiers.
Selected SGLang native multimodal inference cache behavior; cache sharing and actual tenant separation are deployment-dependent.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade B
- AI role
- AGAINST AI
Basis and provenance
GitHub issue 44641 records actual wrong-image KV reuse and a two-host cross-client experiment with a controlled image marker, repeated after three cold restarts. The experiment establishes cross-client response contamination in that configuration, but does not establish real victim disclosures, arbitrary cache scans or a merged fixed release.
Assessed Oct 17, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-SGLANG-MM-ROUTE · CLM-SGLANG-MMHASH-CONFUSION · SGLang issue 44641: client-defined image hash controls reused multimodal KV cache
At a glance
Caller declarations of content identity should not determine the retrieval of confidential cached context without independent verification and tenant scoping.
Read the implicationsNo measured real-world affected tenant count or arbitrary cache exfiltration. Confirm commit-level fix and default settings before listing a fully remediated version.
Limits and uncertaintyFull account
A multimodal inference cache is only safe when its identity represents the actual content and the tenant's allowed reuse scope. SGLang issue 44641 describes the native /generate endpoint accepting client-supplied mm_hashes rather than independently recomputing hashes for image content in affected versions. After one image has entered the cache, a second request can supply a different image and the earlier cached hash, causing the server to produce responses based on the previous image-derived context.
The researcher reports an observed response mismatch in a controlled configuration and discusses a patch that computes content hashes by default, with an explicit opt-in trust setting for callers. The issue also reports a two-host test: a second client supplied a different image with the first client's declared hash and received text reflecting the earlier cached image marker. That is an observed cross-client contamination in the controlled setup, not merely a hypothetical consequence. It does not establish arbitrary reading of every tenant's cache, a particular production victim or attacker knowledge of all cached hashes. Cache-hit prerequisites and endpoint selection matter; the report distinguishes the native API route from the OpenAI-compatible route.
Unlike an injection that changes an instruction, this concerns server-side evidence identity and content reuse. A fast cache response is not proof that it was derived from the current user's input.
Timeline
- Oct 16, 2026disclosure
Public disclosure
Claims & evidence
CLM-SGLANG-MM-ROUTEThe affected behavior is described for the native generation path and an explicit trust-caller hash mode; it is not established for every API route.supported
Basis: reported finding
- supportsSGLang issue 44641: client-defined image hash controls reused multimodal KV cacheprimary disclosure
Affected path and proposed fix
CLM-SGLANG-MMHASH-CONFUSIONThe issue author reports that supplying an earlier image cache hash with a different image caused response text to reflect the earlier image context.supported
Basis: reported finding
- supportsSGLang issue 44641: client-defined image hash controls reused multimodal KV cacheprimary disclosure
Issue description; reproduction with two image inputs
CLM-SGLANG-MM-CROSS-CLIENT-MARKERIssue 44641 reports a two-client test where a second client supplied a different image but the earlier client's declared hash and received text derived from the first client's cached image. The reporter also reproduced wrong-image reuse after three cold restarts.supported
Basis: reported finding
- supportsSGLang issue 44641: client-defined image hash controls reused multimodal KV cacheprimary disclosure
Issue #44641, reproduction and two-host cross-client check; 3/3 cold restarts
Implications
Caller declarations of content identity should not determine the retrieval of confidential cached context without independent verification and tenant scoping.
Controls and mitigations
- Recompute the cache identity from received multimodal bytes by default and isolate reuse by caller or tenant as appropriate. Do not allow request-controlled mm_hashes to select another client's content.
- Review upstream PR 44653 separately from deployed releases; its opt-in trust-caller flag and mock-unit tests are not yet end-to-end GPU or production-fix verification.
Unknowns and contradictions
- No measured real-world affected tenant count or arbitrary cache exfiltration.
- Confirm commit-level fix and default settings before listing a fully remediated version.
Sources and citation
Material revision history
- Oct 17, 2026 · Canonical change recorded · new in release · revision 163