CVE-2026-22807: vLLM affected by RCE via auto_map dynamic module loading during model initialization
Summary vLLM loads Hugging Face automap dynamic modules during model resolution without gating on trustremotecode, allowing attacker-controlled Python code in a model repo/path to execute at server startup. --- Impact An attacker who can influence the model repo/path (local directory or remote Hugging Face repo) can achieve arbitrary code execution on the vLLM host during model load.
Published Jan 21, 2026 · Updated Jul 21, 2026
Affected packages
vllm
- Ecosystem
- PyPI
- Affected
- >= 0.10.1, < 0.14.0
- Fixed in
- 0.14.0
- Check
pip show vllm
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
vLLM loads Hugging Face auto_map dynamic modules during model resolution without gating on `trust_remote_code`, allowing attacker-controlled Python code in a model repo/path to execute at server startup.
---
Impact
An attacker who can influence the model repo/path (local directory or remote Hugging Face repo) can achieve arbitrary code execution on the vLLM host during model load. This happens before any request handling and does not require API access.
---
Affected Versions
All versions where vllm/model_executor/models/registry.py resolves auto_map entries with try_get_class_from_dynamic_module without checking `trust_remote_code` (at least current main).
---
Details
During model resolution, vLLM unconditionally iterates auto_map entries from the model config and calls try_get_class_from_dynamic_module, which delegates to Transformers’ get_class_from_dynamic_module and executes the module code.
This occurs even when trust_remote_code is false, allowing a malicious model repo to embed code in a referenced module and have it executed during initialization.
Relevant code
vllm/model_executor/models/registry.py:856— auto_map resolutionvllm/transformers_utils/dynamic_module.py:13— delegates toget_class_from_dynamic_module, which executes code
---
Fixes
- https://github.com/vllm-project/vllm/pull/32194
Credits
Reported by bugbunny.ai
Credited to zaddy6, arthurgervais, DarkLight1337, russellb.
References
- https://github.com/vllm-project/vllm/security/advisories/GHSA-2pc9-4j83-qjmr
- https://github.com/vllm-project/vllm/pull/32194
- https://github.com/vllm-project/vllm/commit/78d13ea9de4b1ce5e4d8a5af9738fea71fb024e5
- https://github.com/vllm-project/vllm/releases/tag/v0.14.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-22807
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-22807.json
- https://pypi.org/project/vllm
- https://github.com/vllm-project/vllm
- https://github.com/pypa/advisory-database/tree/main/vulns/vllm/PYSEC-2026-2010.yaml
- https://github.com/advisories/GHSA-2pc9-4j83-qjmr
- https://bugzilla.redhat.com/show_bug.cgi?id=2431865
- https://access.redhat.com/security/cve/CVE-2026-22807
- https://access.redhat.com/errata/RHSA-2026:5119
- https://access.redhat.com/errata/RHSA-2026:3782
- https://access.redhat.com/errata/RHSA-2026:3713
- https://access.redhat.com/errata/RHSA-2026:3462
- https://access.redhat.com/errata/RHSA-2026:3461
- https://access.redhat.com/errata/RHSA-2026:30089
- https://access.redhat.com/errata/RHSA-2026:30088
- https://access.redhat.com/errata/RHSA-2026:30087
- https://access.redhat.com/errata/RHSA-2026:10184
- https://access.redhat.com/errata/RHSA-2026:42644
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More vLLM vulnerabilities
All vLLM entriesCVE-2026-105752
vLLM: Harmony tool continuations drop `cache_salt` — restoring a cross-tenant prefix-cache membership oracle
low3.1Oct 6, 2026CVE-2026-105753
vLLM: Mirrored multimodal IPC caches desync after a rejected request — a later request reusing the same media hash trips a receiver assertion in the engine core
medium6.5Oct 6, 2026CVE-2026-105754
vLLM: Scale-out disaggregated multimodal transport trusts caller-supplied features
medium6.5Oct 5, 2026CVE-2026-105755
vLLM: Flash late-interaction scoring caches query embeddings under a caller-controlled request id — cross-request integrity break and induced errors on `/score` and `/rerank`
medium4.2Oct 5, 2026CVE-2026-105756
vLLM: Loose `cache_salt` validation lets a single request kill EngineCore on LMCache-MP deployments — uncaught downstream `ValueError` denial of service
medium6.5Oct 5, 2026CVE-2026-105757
vLLM: Structured-output request errors escape the request boundary and terminate the shared EngineCore — engine-fatal denial of service (3 sites)
medium6.5Oct 5, 2026
