GitHub Advisoryadvisory · PyPI
GHSA-2pc9-4j83-qjmr vLLM affected by RCE via auto_map dynamic module loading during model initialization
HIGH
Official page ↗
- Aliases
- CVE-2026-22807
- Ecosystem
- PyPI
- Packages
- vllm
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-94
- Reviewed
- 2026-01-21
Affected packages
• PyPI vllm: >= 0.10.1, < 0.14.0 → fixed in 0.14.0
Description
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 resolution
• `vllm/transformers_utils/dynamic_module.py:13` — delegates to `get_class_from_dynamic_module`, which executes code
---
Fixes
• https://github.com/vllm-project/vllm/pull/32194
Credits
Reported by bugbunny.ai
Related
Alias · CVE (1)
- CVE-2026-22807 vLLM is an inference and serving engine for large language models (LLMs). vulnerability
Weakness · CWE (1)
- CWE-94 Improper Control of Generation of Code weakness
References
- https://github.com/vllm-project/vllm/security/advisories/GHSA-2pc9-4j83-qjmr web
- https://nvd.nist.gov/vuln/detail/CVE-2026-22807 advisory
- https://github.com/vllm-project/vllm/pull/32194 web
- https://github.com/vllm-project/vllm/commit/78d13ea9de4b1ce5e4d8a5af9738fea71fb024e5 web
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-22807.json web
- https://pypi.org/project/vllm web
- https://github.com/vllm-project/vllm/releases/tag/v0.14.0 web
- https://github.com/vllm-project/vllm package
- https://github.com/pypa/advisory-database/tree/main/vulns/vllm/PYSEC-2026-2010.yaml web
- https://github.com/advisories/GHSA-2pc9-4j83-qjmr advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=2431865 web
- https://access.redhat.com/security/cve/CVE-2026-22807 web
- https://access.redhat.com/errata/RHSA-2026:5119 web
- https://access.redhat.com/errata/RHSA-2026:42644 web
- https://access.redhat.com/errata/RHSA-2026:3782 web
- https://access.redhat.com/errata/RHSA-2026:3713 web
- https://access.redhat.com/errata/RHSA-2026:3462 web
- https://access.redhat.com/errata/RHSA-2026:3461 web
- https://access.redhat.com/errata/RHSA-2026:30089 web
- https://access.redhat.com/errata/RHSA-2026:30088 web
- https://access.redhat.com/errata/RHSA-2026:30087 web
- https://access.redhat.com/errata/RHSA-2026:10184 web