The API is supposed to accept multimodal features, not serialized worker memory addresses as bearer authority. In the described chain, the caller stages data in a ring buffer and supplies a forged handle in features.kwargs_data. A worker interprets that pointer-like pair as authorized internal state and deserializes it with Python pickle. With the…
Inspect the ClaimsCase · DiggingBeagle record
vLLM trusted forged shared-memory handles across its multimodal scale-out boundary
A maintainer advisory demonstrates an authenticated public API path to worker pickle deserialization through forged multimodal SHM handles, even with insecure serialization disabled. Version 0.32.0 adds handle authentication.
This result requires a particular scale-out and SHM caching configuration plus an authenticated caller. It is not evidence that ordinary text completions permit anonymous remote code execution or that a production service was exploited.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade B
- Remediation
- patch available
- AI role
- AGAINST AI
Basis and provenance
Enrich update: CLM-ENRICH-20261027-39 cites SRC-2026-CP21-VLLM-SHM-PICKLE-FORGERY at GHSA-6757-hggm-hp2w, Summary, Affected, and Fix sections. New evidence concerns the bounded reported mechanism, prerequisite or outcome; setting research_demonstration; exploit status demonstrated; remediation status patch_available. No independently comparable impact scale, affected production population or universal exploit success measure was established, so the impact band remains null. Original Claims remain individually attributable and any observed incident or simulated result is distinguished in the narrative.
Assessed Oct 27, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-ENRICH-20261027-39 · vLLM maintainer advisory GHSA-6757-hggm-hp2w shared-memory handle forgery
At a glance
The path crosses from public request data into a trusted internal cache namespace; disabling a different insecure-serialization flag did not protect that boundary.
Read the implicationsThis result requires a particular scale-out and SHM caching configuration plus an authenticated caller. It is not evidence that ordinary text completions permit anonymous remote code execution or that a production service was exploited.
Limits and uncertaintyFull account
The API is supposed to accept multimodal features, not serialized worker memory addresses as bearer authority. In the described chain, the caller stages data in a ring buffer and supplies a forged handle in features.kwargs_data. A worker interprets that pointer-like pair as authorized internal state and deserializes it with Python pickle.
With the multimodal shared-memory cache enabled, an authenticated scale-out API caller can submit a forged address and monotonic_id carrier pointing to attacker-controlled bytes, which a worker passes to pickle.loads. The advisory documents a reproduction on vLLM 0.25.1 and patch 0.32.0. This result requires a particular scale-out and SHM caching configuration plus an authenticated caller. It is not evidence that ordinary text completions permit anonymous remote code execution or that a production service was exploited.
Upgrade to vLLM 0.32.0, disable vulnerable SHM paths while upgrading if feasible, and authenticate every handle with keyed metadata bound to worker state and request lifetime. The path crosses from public request data into a trusted internal cache namespace; disabling a different insecure-serialization flag did not protect that boundary. Primary evidence.
Additional evidence and trust boundary
An address and monotonic_id pair is a pointer to internal state, not evidence that the requesting user owns the cached object. In the reported path, accepting a user-supplied pair leads the worker to deserialize attacker-staged memory with pickle despite a separate insecure-serialization flag. Authenticating the complete handle tuple is the critical boundary; changing a generic serialization setting is not a substitute for validation of the handle origin. Supporting record.
Mechanism and trust boundary
- 01
Step
- 02
Step
- 03
Step
Timeline
- Oct 20, 2026disclosure
Public disclosure
Claims & evidence
CLM-ENRICH-20261027-39The vLLM advisory states that the forged shared-memory handle path requires --mm-processor-cache-type shm plus the public scale-out multimodal features.kwargs_data envelope; the patched version 0.32.0 binds cache handle material cryptographically.supported
Basis: reported finding
- supportsvLLM maintainer advisory GHSA-6757-hggm-hp2w shared-memory handle forgeryprimary disclosure
GHSA-6757-hggm-hp2w, Summary, Affected, and Fix sections
CLM-CP21-VLLM-SHM-PICKLE-FORGERY-1With the multimodal shared-memory cache enabled, an authenticated scale-out API caller can submit a forged address and monotonic_id carrier pointing to attacker-controlled bytes, which a worker passes to pickle.loads. The advisory documents a reproduction on vLLM 0.25.1 and patch 0.32.0.supported
Basis: reported finding
- supportsvLLM maintainer advisory GHSA-6757-hggm-hp2w shared-memory handle forgeryprimary disclosure
Affected versions, Summary, Affected code and fixed handle-authentication design
Implications
The path crosses from public request data into a trusted internal cache namespace; disabling a different insecure-serialization flag did not protect that boundary.
Controls and mitigations
- Upgrade to vLLM 0.32.0, disable vulnerable SHM paths while upgrading if feasible, and authenticate every handle with keyed metadata bound to worker state and request lifetime.
Unknowns and contradictions
- This result requires a particular scale-out and SHM caching configuration plus an authenticated caller. It is not evidence that ordinary text completions permit anonymous remote code execution or that a production service was exploited.
Sources and citation
Material revision history
- Oct 27, 2026 · Canonical change recorded · new in release · revision 196