---
id: "CVE-2026-114051"
kind: "vulnerability"
aliases: ["CVE-2026-114051"]
title: "vLLM: one malformed request halts all generation until restart"
severity: "high"
cvss: 7.5
epss: 0.00375
exploited: false
status: "open"
category: "ai-tooling"
products: []
ecosystems: []
tags: ["ai-tooling", "inference-server", "llm-serving", "python", "self-hosted", "vllm"]
not_affected_if: ["endpoint-not-exposed", "patched-0.31.0-or-later"]
published_at: "2026-10-21T01:17:27+00:00"
first_seen_at: "2026-10-23T21:57:27+00:00"
updated_at: "2026-10-25T03:17:07+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-114051", "first_seen_at": "2026-10-23T21:57:27+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-114051", "first_seen_at": "2026-10-24T13:15:55+00:00"}]
---

# vLLM: one malformed request halts all generation until restart

vLLM before 0.31.0 skips a token-limit validation check on /inference/v1/generate when max_tokens is null, so the engine's input thread crashes on an uncaught error. An unauthenticated remote attacker can send one request with an oversized min_tokens value to stop every later generation request until the service is restarted manually.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Run `pip show vllm` or `python -c "import vllm; print(vllm.__version__)"` on the serving host and compare against `0.31.0`
- Check whether the /inference/v1/generate endpoint is reachable from untrusted networks
- Confirm /health still returns 200 after a crash by reviewing deployment health checks, which would not detect this failure

## Fix

- Upgrade vLLM to `0.31.0` or later
- Until upgraded, restrict access to /inference/v1/generate to trusted clients or block it at the gateway
- Add a liveness check that exercises generation, not just /health, so a hung engine gets restarted automatically

## Timeline

- 2026-10-23T21:57:27+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-114051
- 2026-10-24T13:15:55+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-114051

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
