CVE-2026-115912
High · 7.5CVSS
7.5
EPSS
0.5%
Published
Oct 26, 2026
CISA due date
—
Cloudanix analysis
Attackers who can log into an AI model serving system can make the servers run any code they choose, potentially taking over the whole setup.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Deserialization
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Authenticated users can inject forged shared-memory address and monotonic_id values into multimodal features.kwargs_data; scale-out workers with shared-memory caching enabled blindly pass attacker bytes to pickle.loads(), enabling arbitrary Python code execution despite disabled insecure serialization.
Why it matters to the business
Compromises AI model inference clusters in multi-node deployments, risking theft of models and data, service disruption, and full infrastructure takeover; recent disclosure demands urgent action across organizations using vLLM.
How an attack unfolds
An authenticated attacker submits a multimodal inference request containing crafted kwargs_data that references attacker-controlled shared memory; trusting workers deserialize the supplied bytes via pickle.loads() and execute the resulting Python payload.
How to fix it
Upgrade every vLLM deployment to version 0.32.0 or later; until upgraded, disable shared-memory multimodal caching in all scale-out configurations.
How to confirm the fix worked
Confirm running version is 0.32.0 or newer via package metadata or startup logs; test that shared-memory caching is disabled or that forged kwargs_data no longer results in pickle execution.
Typical attack path
- Obtain authenticated access to the vLLM API
- Craft a multimodal request embedding forged shared-memory address and monotonic_id values pointing to attacker-controlled bytes
- Submit the request to trigger worker-side processing
- Workers call pickle.loads() on the supplied data
- Attacker payload executes on the worker node
How to detect it
Search worker logs for multimodal requests containing unusual kwargs_data fields, unexpected pickle deserialization calls, or shared-memory address values that do not originate from internal caching logic.
What your security team should do
- Upgrade all vLLM instances to 0.32.0 within the next 48 hours given the five-day-old disclosure
- Temporarily disable shared-memory multimodal caching in distributed setups
- Add runtime checks or WAF rules to block suspicious multimodal feature payloads
- Review authentication boundaries to limit who can submit multimodal requests
The record
vLLM is an inference and serving engine for large language models. Prior to 0.32.0, an authenticated caller can place forged shared-memory address and monotonic_id values in public multimodal features.kwargs_data. In scale-out deployments with shared-memory multimodal caching enabled, workers trust those values and pass attacker-selected bytes to pickle.loads(), allowing arbitrary Python execution even when insecure serialization is disabled. This issue is fixed in version 0.32.0.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-63393 OpenSearch SQL supports querying OpenSearch data using SQL and Piped Processing Language. CWE-502
- CVE-2026-118938 In Trail of Bits fickling through 0.1.12, a pickle STACK_GLOBAL operand carrying a dotted… CWE-502
- CVE-2026-16760 In Trail of Bits fickling through 0.1.12, the _process_import() method in fickle.py adds… CWE-502
- CVE-2026-62848 Metalama is a Roslyn-based open-source patterns and architecture toolkit for C#. CWE-502
- CVE-2026-90888 Unauthenticated PHP Object Injection in LeadSnap <= 1.25 versions. CWE-502
- CVE-2026-78527 Contributor PHP Object Injection in GS Testimonial Slider <= 3.3.10 versions. CWE-502
- CVE-2026-73186 Subscriber PHP Object Injection in Enable Media Replace <= 4.2.2 versions. CWE-502
- CVE-2026-39738 Unauthenticated PHP Object Injection in FunnelKit Automations <= 3.8.6.1 versions. CWE-502