Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid API credentials for vLLM server
-
DeliveryCraft malicious Jinja chat_template
-
ExploitSubmit to /v1/responses with chat_template_kwargs
-
ExecutionRenderer executes unbounded template
-
ImpactCPU/memory exhaustion denies service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact 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 vLLM server was started with the documented default trust_request_chat_template=False AND with no explicit --chat-template (i.e. no server chat template configured), which is what makes ChatParams.get_apply_chat_template_kwargs() preserve the request-supplied chat_template key. The attacker must also be an authenticated caller permitted to reach the /v1/responses endpoint (consistent with PR:L). Limiting factors: this affects only the Responses path (Chat Completions, render, tokenize, and pooling already enforce the trust gate); a deployment that sets a server-side chat template or runs with --trust-request-chat-template handling is not exposed in the same way; and impact is limited to availability (service degradation/denial), with no data disclosure or modification. Affected versions are 0.16.0 up to but not including 0.32.0. |
| Impact | This is a moderate, availability-only denial-of-service issue, not a top-tier emergency. The provided CVSS vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H, base 6.5) is internally consistent with the advisory: network-reachable, low complexity, but requiring low-level privileges (PR:L) because the attacker must be an authenticated caller able to submit /v1/responses requests, with no confidentiality or integrity impact and high availability impact via CPU/memory exhaustion. The vuln.today decision label is 'this_month' rather than act_now or emergency. No EPSS score was supplied and the issue is not listed in CISA KEV, so there is no public-exploitation signal; exploitation status is 'no public exploit identified at time of analysis.' The GHSA advisory documents the exact triggering payload shape (chat_template_kwargs[chat_template] carrying an attacker Jinja template) but this is a reporter's advisory, not verified working exploit code. The main thing elevating practical risk is that the condition is a documented default (trust_request_chat_template=False with no --chat-template set), so vulnerable deployments are the normal case rather than an edge configuration; the main thing limiting it is the authentication requirement (PR:L) and the fact that impact is confined to availability of the inference server. Net: a real but contained priority - patch to 0.32.0 on a normal maintenance cadence, prioritizing internet-exposed or multi-tenant vLLM endpoints. |
| Exploit ScenarioDerived | An authenticated user of a multi-tenant vLLM server running the default trust_request_chat_template=False with no server-side --chat-template sends a /v1/responses request whose chat_template_kwargs[chat_template] contains a maliciously crafted Jinja template. Because the Responses path never applies the trust gate that protects Chat Completions, the template is bound to the HF renderer and rendered, driving CPU/memory exhaustion that degrades or denies service for other tenants. The advisory describes the payload shape precisely, but the input provides no verified working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 26, 2026
CPU and memory exhaustion in vLLM's /v1/responses endpoint affects versions 0.16.0 up to (but not including) 0.32.0, where an authenticated caller can inject a request-level Jinja chat template that bypasses the trust_request_chat_template policy gate. Only availability is impacted (no confidentiality or integrity loss), and exposure is limited to servers started with the documented default trust_request_chat_template=False and no explicit --chat-template, since that is the configuration in which the request-supplied chat_template key survives into the renderer. No public exploit code and no CISA KEV entry were identified at time of analysis, and the vendor's advisory rates the issue as Moderate.
RemediationAI
Vendor-released patch: 0.32.0 - upgrade the vllm package to 0.32.0 or later, which is the release containing the fix from PR https://github.com/vllm-project/vllm/pull/50300 (commit https://github.com/vllm-project/vllm/commit/cff08b461e086523cee8bba5bd3c66d302625134) that restores the default-deny behavior on /v1/responses and adds a 500,000-instruction Jinja fuel budget plus off-loop rendering. If upgrading immediately is not possible, the exposure is configuration-dependent: start the server with an explicit --chat-template so that ChatParams.get_apply_chat_template_kwargs() no longer preserves the request-supplied template key, which removes the vulnerable condition at the cost of pinning every request to the server template; and restrict who can reach /v1/responses by limiting authenticated API keys to trusted callers, since the flaw requires an authenticated request. Do not treat enabling --trust-request-chat-template as a mitigation - it accepts request templates by design. Monitor serving nodes for abnormal CPU or memory growth on the Responses endpoint while running an unpatched version, and consult https://github.com/vllm-project/vllm/security/advisories/GHSA-x567-49g5-p4cf for the vendor's guidance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
vLLM renders prompts through a shared Hugging Face-style Jinja chat-template renderer (vllm/renderers/hf.py), which unpacks the kwargs produced by ChatParams.get_apply_chat_template_kwargs() into safe_apply_chat_template. The Chat Completions, render, tokenize and pooling paths gate request-supplied templates behind the --trust-request-chat-template flag, and the shared OpenAI frontend validation helper explicitly rejects both a top-level chat_template and chat_template_kwargs["chat_template"]. The Responses serving path (vllm/entrypoints/openai/responses/protocol.py, ResponsesRequest.build_chat_params(), OpenAIServingResponses._effective_chat_template_kwargs()) forwards request kwargs without an equivalent check in responses/serving.py, and when the server chat template is None the request value is preserved rather than replaced. Because request-controlled Jinja templates can execute unbounded loops and string operations, this is a resource-consumption flaw (CWE-400, with CWE-770 also cited) rather than a code-execution or data-exposure issue; the GHSA explicitly ties it to - but distinguishes it from - earlier advisories GHSA-6fvq-23cw-5628/CVE-2025-61620 and GHSA-69j4-grxj-j64p/CVE-2025-62426, which covered the older Chat Completions and tokenize implementations. The upstream fix (PR #50300) adds a Jinja fuel budget of 500,000 template instructions in the Rust renderer via minijinja's fuel feature and moves rendering onto a blocking worker thread so exhaustion does not stall the async event loop, in addition to adding the missing trust gate.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Authenticated API caller required so PR:L; network-reachable endpoint with a straightforward payload gives AV:N/AC:L/UI:N; impact is CPU/memory exhaustion only, so C:N/I:N/A:H.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
vLLM is an inference and serving engine for large language models. From 0.16.0 until 0.32.0, the /v1/responses endpoint allows an authenticated caller to place an attacker-controlled template in chat_template_kwargs[chat_template] when no server template is configured. ChatParams.get_apply_chat_template_kwargs() preserves that value without enforcing trust_request_chat_template, so the request can bypass the intended trust policy and cause CPU or memory exhaustion through Jinja rendering. This issue is fixed in version 0.32.0.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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-110039
GHSA-x567-49g5-p4cf
NVD
CVE.org
EPSS
Exploit-DB