Skip to main content

vLLM CVE-2026-90553

| EUVDEUVD-2026-76871 HIGH
Code Injection (CWE-94)
2026-09-12 VulnCheck GHSA-rp86-qf3f-pqfc
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Attacker publishes malicious model with backdoored processing_llava_onevision2.py
  2. Delivery
    Victim loads model in vLLM pipeline with trust_remote_code=False
  3. Exploit
    LlavaOnevision2 loader ignores trust check and imports processor file
  4. Execution
    Attacker code executes as vLLM process
  5. Impact
    Full 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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 – 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

vllm 0 <0.28.0

Affected Packages

pypi vllm fix: 0.28.0

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

Vendor (VulnCheck) PRIMARY 8.5 HIGH
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
vuln.today AI 8.6 HIGH

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

3.1 AV:L/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 7.8 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Sep 12, 2026 - 14:01 EUVD
CVE Published
Sep 12, 2026 - 12:08 cve.org
HIGH 8.5

DescriptionCVE.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
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 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

Why It Matters

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.

Business Impact: High
Compensating Controls

Vendor-released patch: vLLM 0.28.0 or later

Threat Intelligence Overview

EPSS Score
0.2%
Top 89% exploitable
Prevalence
Medium
popular LLM inference framework in production AI/ML deployments
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Code Injection CRITICAL

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.

More in Vllm

View all
CVE-2025-32444 CRITICAL POC
10.0 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated critical severity (CVSS 10.0

CVE-2024-11041 CRITICAL POC
9.8 Mar 20

vllm-project vllm version v0.6.2 contains a vulnerability in the MessageQueue.dequeue() API function. Rated critical sev

CVE-2026-22778 CRITICAL POC
9.8 Feb 02

Information exposure in vLLM inference engine versions 0.8.3 to before 0.14.1. Invalid image requests to the multimodal

CVE-2025-59425 HIGH POC
7.5 Oct 07

Timing-based API key recovery in vLLM before 0.11.0rc2 can let remote attackers bypass bearer-token authentication on de

CVE-2025-30202 HIGH POC
7.5 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated high severity (CVSS 7.5), th

CVE-2026-54234 HIGH POC
7.5 Jul 06

Denial of service in the vLLM LLM inference server (all versions prior to 0.24.0) allows a remote client to crash the sh

CVE-2026-24779 HIGH POC
7.1 Jan 27

vLLM before version 0.14.1 contains a server-side request forgery vulnerability in the MediaConnector class where incons

CVE-2026-57173 MEDIUM POC
6.5 Sep 16

Out-of-memory worker crashes in vLLM can be induced by a single small compressed audio payload submitted to the /v1/chat

CVE-2025-46560 MEDIUM POC
6.5 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated medium severity (CVSS 6.5),

CVE-2026-69147 MEDIUM POC
6.5 Sep 16

GPU memory exhaustion in vLLM versions prior to 0.28.0 lets an attacker with low-privileged API access (PR:L in the CVSS

CVE-2026-105753 MEDIUM POC
6.5 Oct 05

Multimodal inference requests to vLLM deployments running versions prior to 0.28.0 can trigger a process-level assertion

CVE-2026-73559 MEDIUM POC
6.5 Aug 13

Uncontrolled resource consumption in vLLM's OpenAI-compatible completions endpoint allows any authenticated API client t

Vendor StatusVendor

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