Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker publishes malicious model with backdoored processing_llava_onevision2.py
-
DeliveryVictim loads model in vLLM pipeline with trust_remote_code=False
-
ExploitLlavaOnevision2 loader ignores trust check and imports processor file
-
ExecutionAttacker code executes as vLLM process
-
ImpactFull process compromise achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the victim use a vLLM installation prior to version 0.28.0 and actively load a LlavaOnevision2-architecture model from an attacker-controlled source. The victim must initiate the model loading step (UI:P), which is the standard operational workflow for any vLLM user working with multimodal models. No authentication or special system privileges are required on the victim's machine (PR:N). The attack is strictly limited to scenarios where the victim loads a malicious LlavaOnevision2 model - deployments that only load models from internal, verified registries are unaffected, as are vLLM deployments that never use the LlavaOnevision2 processor class. The trust_remote_code=False setting, which is the sole intended safeguard against this class of attack, is completely ineffective for this specific processor in unpatched versions. |
| Impact | The CVSS 4.0 score of 8.5 with AV:L/AC:L/AT:N/PR:N/UI:P reflects a realistic and moderately serious threat. AV:L indicates the exploit is triggered locally when the victim loads a model - this is a supply-chain/social-engineering attack pattern, not a network-reachable service attack, which meaningfully limits blast radius. The UI:P (passive user interaction) condition is realistic: in ML/AI workflows, loading third-party models is routine and often automated in pipelines. The most damaging aspect of this vulnerability is that it undermines the only documented safety control for this class of attack; operators who believe they have mitigated remote code execution risk via trust_remote_code=False are entirely unprotected for this processor. No EPSS score is present in the provided data. No CISA KEV listing exists. No POC has been identified. Real-world risk is significant for organizations with ML pipelines that load community or third-party LlavaOnevision2-architecture models, but is low for deployments using only internal, vetted models. |
| Exploit ScenarioDerived | An attacker publishes a LlavaOnevision2-compatible model to HuggingFace Hub containing malicious code in processing_llava_onevision2.py - for example, a reverse shell or credential exfiltration routine. A data scientist or MLOps engineer running vLLM < 0.28.0 loads this model, having set trust_remote_code=False in the belief that this prevents arbitrary code execution, and the malicious processor code executes immediately with the full OS-level privileges of the vLLM inference process. No public exploit code has been identified, but the technique requires only standard Python packaging knowledge and the ability to publish a model to an accessible registry. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 12, 2026
Remote code execution in vLLM's LlavaOnevision2 processor loader allows an attacker who controls a model repository to execute arbitrary code on systems that load that model, bypassing the trust_remote_code=False safety parameter entirely. All vLLM installations prior to version 0.28.0 are affected when loading LlavaOnevision2-architecture models; the security control that operators rely on to safely evaluate third-party models is silently non-functional for this processor class. No public exploit code has been identified and the vulnerability is not listed in CISA KEV, but the attack requires only the ability to publish a model to an accessible registry and social-engineer a user into loading it.
RemediationAI
Upgrade vLLM to version 0.28.0 or later, which corrects the trust_remote_code parameter enforcement in the LlavaOnevision2 processor loader. The vendor security advisory at https://github.com/vllm-project/vllm/security/advisories/GHSA-3c86-2m5g-59q7 should be consulted for further guidance. If an immediate upgrade is not feasible, restrict all vLLM deployments to loading models exclusively from verified, internally-controlled model registries and disallow loading any LlavaOnevision2-architecture models from public or unvetted sources, as trust_remote_code=False cannot be relied upon as a compensating control in unpatched versions. Additionally, running vLLM processes in containerized or sandboxed environments with restricted filesystem and network access will limit the impact of any code execution triggered during model loading. Organizations should audit recently loaded LlavaOnevision2 models for the presence of processing_llava_onevision2.py and inspect its contents for unexpected code.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
vLLM (CPE: cpe:2.3:a:vllm-project:vllm:*:*:*:*:*:*:*:*) is an open-source, high-throughput inference and serving engine for large language and multimodal models, commonly used in ML pipelines and production AI deployments. The trust_remote_code parameter is a documented safety gate that is supposed to prevent execution of arbitrary Python code bundled with remote model repositories - such as HuggingFace Hub custom processing scripts. CWE-94 (Improper Control of Code Generation) identifies the root cause: the LlavaOnevision2 processor loader contains a logic flaw that loads the remote processor class from processing_llava_onevision2.py without checking the trust_remote_code flag at all, whereas all other processor loaders in vLLM respect this constraint. This means a malicious actor can embed arbitrary Python in that file and it will execute unconditionally in the vLLM process regardless of operator intent.
Know when Vllm 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:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Exploitation is local (model loading), requires no attacker privileges, needs victim to load the model (UI:R), and crosses the trust_remote_code safety boundary (scope change).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
vLLM before 0.28.0 contains a remote code execution vulnerability in the LlavaOnevision2 processor loader that ignores the trust_remote_code parameter when loading remote processor classes. Attackers can craft a malicious model with arbitrary code in processing_llava_onevision2.py that executes with vLLM process authority even when trust_remote_code is set to False.
Blast Radius
ecosystem impact- 2 pypi packages depend on vllm (2 direct, 0 indirect)
Ecosystem-wide dependent count for version 0.28.0.
Technical POC Analysis
CWE-94 (Improper Control of Generation of Code), with CWE-829 as the second weakness the advisory assigns.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
vLLM, a widely-used framework for running AI models in production, contains a critical vulnerability that bypasses its security controls for loading third-party models, allowing attackers to execute arbitrary code on inference servers. Organizations using vLLM version 0.27.x or earlier face risk if they load models from untrusted sources; an attacker only needs to publish a malicious model and convince someone to load it to potentially compromise sensitive data and systems.
Vendor-released patch: vLLM 0.28.0 or later
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated critical severity (CVSS 10.0
vllm-project vllm version v0.6.2 contains a vulnerability in the MessageQueue.dequeue() API function. Rated critical sev
Information exposure in vLLM inference engine versions 0.8.3 to before 0.14.1. Invalid image requests to the multimodal
Timing-based API key recovery in vLLM before 0.11.0rc2 can let remote attackers bypass bearer-token authentication on de
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated high severity (CVSS 7.5), th
Denial of service in the vLLM LLM inference server (all versions prior to 0.24.0) allows a remote client to crash the sh
vLLM before version 0.14.1 contains a server-side request forgery vulnerability in the MediaConnector class where incons
Out-of-memory worker crashes in vLLM can be induced by a single small compressed audio payload submitted to the /v1/chat
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated medium severity (CVSS 6.5),
GPU memory exhaustion in vLLM versions prior to 0.28.0 lets an attacker with low-privileged API access (PR:L in the CVSS
Multimodal inference requests to vLLM deployments running versions prior to 0.28.0 can trigger a process-level assertion
Uncontrolled resource consumption in vLLM's OpenAI-compatible completions endpoint allows any authenticated API client t
EUVD-2026-76871
GHSA-rp86-qf3f-pqfc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB