CVE-2026-114051: vLLM: unauth DoS via min_tokens hangs generation
HIGHvLLM before 0.31.0 fails to validate that min_tokens does not exceed max_tokens on /inference/v1/generate requests when max_tokens is null, so a single crafted request kills the EngineCore input thread and leaves the server unable to serve any later generation request. The danger is that /health still returns 200, so load balancers and orchestrators will keep routing traffic to a dead node and the outage can go unnoticed until users complain. The attack is unauthenticated, network-reachable and trivial (CVSS 7.5), though there is currently no public exploit, no Nuclei template, no KEV listing and no EPSS score, so exploitation is not yet observed. Upgrade to vLLM 0.31.0 or later, and until then block or restrict access to /inference/v1/generate and add a synthetic generation probe to health monitoring rather than relying on /health.
What is the risk?
High availability risk. The flaw is exploitable over the network with no authentication, no user interaction and low complexity, and a single request is enough to cause a persistent outage requiring manual restart. Confidentiality and integrity are unaffected. Exposure depends on whether the vLLM endpoint is reachable by untrusted parties; internet-facing or shared-tenant inference gateways are at greatest risk. The misleading healthy /health status prolongs outages and defeats automated recovery. No public exploit, scanner template, KEV listing or EPSS data was available at time of analysis, so near-term exploitation likelihood is unquantified, though the trivial trigger makes it easy to weaponize once details circulate.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| vLLM | pip | — | No patch |
Do you use vLLM? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) Upgrade vLLM to 0.31.0 or later. 2) Until patched, do not expose the vLLM server directly to untrusted networks; place it behind an authenticating API gateway and restrict /inference/v1/generate to trusted callers. 3) At the gateway or proxy, validate request bodies and reject requests where max_tokens is null or min_tokens is unreasonably large or exceeds max_tokens. 4) Replace or supplement /health checks with a synthetic end-to-end generation probe with a timeout so hung engines are detected and restarted automatically. 5) Monitor logs for uncaught VLLMValidationError in the EngineCore input thread, stalled request queues and rising request latency, and configure automatic process restart on those signals. 6) Apply rate limiting per client.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-114051?
vLLM before 0.31.0 fails to validate that min_tokens does not exceed max_tokens on /inference/v1/generate requests when max_tokens is null, so a single crafted request kills the EngineCore input thread and leaves the server unable to serve any later generation request. The danger is that /health still returns 200, so load balancers and orchestrators will keep routing traffic to a dead node and the outage can go unnoticed until users complain. The attack is unauthenticated, network-reachable and trivial (CVSS 7.5), though there is currently no public exploit, no Nuclei template, no KEV listing and no EPSS score, so exploitation is not yet observed. Upgrade to vLLM 0.31.0 or later, and until then block or restrict access to /inference/v1/generate and add a synthetic generation probe to health monitoring rather than relying on /health.
Is CVE-2026-114051 actively exploited?
No confirmed active exploitation of CVE-2026-114051 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-114051?
1) Upgrade vLLM to 0.31.0 or later. 2) Until patched, do not expose the vLLM server directly to untrusted networks; place it behind an authenticating API gateway and restrict /inference/v1/generate to trusted callers. 3) At the gateway or proxy, validate request bodies and reject requests where max_tokens is null or min_tokens is unreasonably large or exceeds max_tokens. 4) Replace or supplement /health checks with a synthetic end-to-end generation probe with a timeout so hung engines are detected and restarted automatically. 5) Monitor logs for uncaught VLLMValidationError in the EngineCore input thread, stalled request queues and rising request latency, and configure automatic process restart on those signals. 6) Apply rate limiting per client.
What systems are affected by CVE-2026-114051?
This vulnerability affects the following AI/ML architecture patterns: model serving, LLM inference servers, RAG pipelines, agent frameworks, batch inference pipelines.
What is the CVSS score for CVE-2026-114051?
CVE-2026-114051 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.38%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0029Denial of AI ServiceAML.T0040AI Model Inference API AccessAML.T0049Exploit Public-Facing ApplicationCompliance Controls Affected
What are the technical details?
Original Advisory
vLLM before 0.31.0 skips the min_tokens <= max_tokens check for /inference/v1/generate requests with a null max_tokens, so the EngineCore input thread later dies on an uncaught VLLMValidationError while /health still returns 200. Unauthenticated remote attackers can send one request with an oversized min_tokens to hang all subsequent generation requests until manual restart.
Exploitation Scenario
An attacker discovers an exposed vLLM inference endpoint, for example through internet scanning or a leaked internal URL. They send one POST to /inference/v1/generate with max_tokens set to null and min_tokens set to an oversized value. The validation check is skipped, the request reaches the engine, and the EngineCore input thread crashes on the uncaught VLLMValidationError. The HTTP server and /health endpoint keep responding, so monitoring shows the node healthy while every subsequent generation request hangs. The attacker can repeat the request against any restarted instance to keep the service down.
Weaknesses (CWE)
CWE-248 — Uncaught Exception: An exception is thrown from a function, but it is not caught.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
Timeline
Related Vulnerabilities
CVE-2026-6173210.0Decepticon: ChatML token injection yields sandbox RCE
Same package: vllmCVE-2024-110419.8vllm: RCE via unsafe pickle deserialization in MessageQueue
Same package: vllmCVE-2025-472779.8vLLM: RCE via exposed TCPStore in distributed inference
Same package: vllmCVE-2026-259609.8vllm: SSRF allows internal network access
Same package: vllmCVE-2024-90539.8vllm: RCE via unsafe pickle deserialization in RPC server
Same package: vllm