Skip to main content

vLLM CVE-2026-54232

HIGH
Uncontrolled Search Path Element (CWE-427)
2026-06-22 GitHub_M
8.8
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI
8.8 HIGH

Attacker needs no privileges or auth - only a PyPI registration - but a victim must actually build the Dockerfile, hence UI:R; build-time root RCE yields full C/I/A.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
Analysis Generated
Jun 22, 2026 - 23:01 vuln.today

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 1 pypi packages depend on vllm (1 direct, 0 indirect)

Ecosystem-wide dependent count for version 0.22.1.

DescriptionCVE.org

vLLM is an inference and serving engine for large language models (LLMs). Prior to 0.22.1, the vLLM Dockerfile is vulnerable to a dependency confusion attack through the flashinfer-jit-cache package. The package is installed from a custom index (flashinfer.ai/whl/) using --extra-index-url, but the package name was not registered on PyPI, and UV_INDEX_STRATEGY="unsafe-best-match" is set globally. An attacker who registers flashinfer-jit-cache on PyPI with version 0.6.11.post2 can execute arbitrary code as root during the Docker build and backdoor every resulting container image, enabling exfiltration of all user prompts, API credentials, and model data from production vLLM deployments This vulnerability is fixed in 0.22.1.

AnalysisAI

Remote code execution in vLLM versions prior to 0.22.1 allows attackers to backdoor production LLM inference deployments through a dependency confusion attack in the project's Dockerfile. Because flashinfer-jit-cache was pulled via --extra-index-url with UV_INDEX_STRATEGY=unsafe-best-match while the name remained unregistered on PyPI, any attacker who claimed the name on PyPI with a higher version would have their code executed as root during every Docker build. No public exploit identified at time of analysis, but the supply-chain primitive is well understood and trivially weaponizable.

Technical ContextAI

vLLM is a widely used Python-based inference and serving engine for large language models, distributed in part via an official Dockerfile that uses uv/pip to install GPU helper wheels. The Dockerfile references flashinfer-jit-cache from the vendor index https://flashinfer.ai/whl/ as an --extra-index-url while also leaving PyPI as a candidate source. With UV_INDEX_STRATEGY set to unsafe-best-match globally, uv compares versions across all configured indexes and selects the highest, regardless of origin. This is a textbook CWE-427 Uncontrolled Search Path Element manifestation in the modern Python packaging ecosystem: because the attacker controls neither code nor infrastructure but does control which package is named highest on PyPI, a higher-versioned malicious flashinfer-jit-cache (e.g., 0.6.11.post2) wins resolution against the legitimate lower-versioned wheel on the private index. The affected CPE is cpe:2.3:a:vllm-project:vllm covering all releases prior to 0.22.1.

RemediationAI

Upgrade to vLLM 0.22.1, which removes the unsafe index strategy and/or pins flashinfer-jit-cache to a trusted source; this is the only complete fix and is documented in GHSA-jrf6-vqxq-pjv2 (https://github.com/vllm-project/vllm/security/advisories/GHSA-jrf6-vqxq-pjv2). Organizations that cannot immediately upgrade should rebuild Docker images only after removing UV_INDEX_STRATEGY=unsafe-best-match (forcing first-index resolution, at the cost of breaking installs if the private index is missing a needed wheel), explicitly pinning flashinfer-jit-cache with a hash via --require-hashes, or vendoring the wheel into the build context so PyPI is never consulted for that name. Any image built from a pre-0.22.1 Dockerfile during the exposure window should be treated as potentially backdoored, rotated, and rebuilt from a clean base, and any API keys, model weights, or prompt logs handled by such deployments should be considered compromised and rotated.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

CVE-2025-34221 CRITICAL POC
10.0 Sep 29

Vasion Print (formerly PrinterLogic) Virtual Appliance Host prior to version 25.2.169 and Application prior to version 2

CVE-2024-23054 CRITICAL POC
9.8 Feb 05

An issue in Plone Docker Official Image 5.2.13 (5221) open-source software that could allow for remote code execution du

CVE-2026-53576 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution in Kestra orchestration platform before 1.0.45 and 1.3.21 lets anonymous attackers

Vendor StatusVendor

Share

CVE-2026-54232 vulnerability details – vuln.today

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