CVE-2026-116172: vLLM: gRPC top_n validation flaw crashes EngineCore
HIGHA flaw in the Rust gRPC converter of vLLM 0.22.0 up to (but not including) 0.24.0 fails to validate CandidateTokens.top_n, so a remote caller can bypass max_logprobs limits and send oversized or integer-wrapping values that make torch.topk fail and terminate EngineCore. The impact is availability only (CVSS 5.9, no confidentiality or integrity impact), and there is no known public exploit, no Nuclei template, and no CISA KEV listing; EPSS data is not yet available. The risk is higher than the medium score suggests for any organization that exposes the vLLM gRPC endpoint to untrusted networks, because one crafted Generate or GenerateStream request can take down the whole inference engine rather than a single request. Upgrade to vLLM 0.24.0 or later, restrict the gRPC port to trusted clients behind authentication, and alert on unexpected EngineCore restarts.
What is the risk?
Medium overall. The attack is network-reachable with no privileges or user interaction, but the CVSS vector rates complexity as high, and the impact is limited to availability. No public exploit, scanner template, or KEV listing exists, so near-term exploitation likelihood is low to moderate. Exposure matters most: internet-facing or multi-tenant gRPC deployments of vLLM 0.22.x-0.23.x are the most at risk, while internal deployments behind authenticated gateways face much lower risk. Because EngineCore is a single point of failure for the serving process, one successful request produces a full service outage until restart.
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.24.0 or later. 2) Until patched, restrict network access to the gRPC port to trusted clients using network policies, a service mesh, or an authenticated API gateway. 3) Add a gateway or proxy rule that rejects Generate and GenerateStream requests with unusually large top_n values or values that exceed max_logprobs. 4) Monitor for EngineCore terminations, torch.topk errors, and unexpected pod or process restarts, and alert on repeated crash loops. 5) Configure rate limiting and health checks so failed instances are removed from load balancers and restarts are throttled. 6) Review the GitHub advisory GHSA-rwfw-xvg3-3937 for further guidance.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-116172?
A flaw in the Rust gRPC converter of vLLM 0.22.0 up to (but not including) 0.24.0 fails to validate CandidateTokens.top_n, so a remote caller can bypass max_logprobs limits and send oversized or integer-wrapping values that make torch.topk fail and terminate EngineCore. The impact is availability only (CVSS 5.9, no confidentiality or integrity impact), and there is no known public exploit, no Nuclei template, and no CISA KEV listing; EPSS data is not yet available. The risk is higher than the medium score suggests for any organization that exposes the vLLM gRPC endpoint to untrusted networks, because one crafted Generate or GenerateStream request can take down the whole inference engine rather than a single request. Upgrade to vLLM 0.24.0 or later, restrict the gRPC port to trusted clients behind authentication, and alert on unexpected EngineCore restarts.
Is CVE-2026-116172 actively exploited?
No confirmed active exploitation of CVE-2026-116172 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-116172?
1) Upgrade vLLM to 0.24.0 or later. 2) Until patched, restrict network access to the gRPC port to trusted clients using network policies, a service mesh, or an authenticated API gateway. 3) Add a gateway or proxy rule that rejects Generate and GenerateStream requests with unusually large top_n values or values that exceed max_logprobs. 4) Monitor for EngineCore terminations, torch.topk errors, and unexpected pod or process restarts, and alert on repeated crash loops. 5) Configure rate limiting and health checks so failed instances are removed from load balancers and restarts are throttled. 6) Review the GitHub advisory GHSA-rwfw-xvg3-3937 for further guidance.
What systems are affected by CVE-2026-116172?
This vulnerability affects the following AI/ML architecture patterns: model serving, LLM inference endpoints, gRPC-based inference APIs, RAG pipelines, agent backends.
What is the CVSS score for CVE-2026-116172?
CVE-2026-116172 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.34%.
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 from 0.22.0 before 0.24.0 contains an improper input validation vulnerability in the Rust gRPC converter that allows remote attackers to bypass max_logprobs limits via CandidateTokens.top_n. Attackers can send Generate or GenerateStream requests with oversized or integer-wrapping top_n values to trigger torch.topk failures that terminate EngineCore.
Exploitation Scenario
An attacker finds a vLLM gRPC endpoint reachable from the internet or from a shared internal network. They send a Generate or GenerateStream request whose CandidateTokens.top_n is either far larger than the model vocabulary or crafted to wrap around as an integer, bypassing the max_logprobs check. The conversion passes the value to torch.topk, which raises an error and terminates EngineCore. The attacker repeats the request each time the service restarts, keeping the AI-backed application offline at almost no cost.
Weaknesses (CWE)
CWE-20 — Improper Input Validation: The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly.
- [Architecture and Design] Consider using language-theoretic security (LangSec) techniques that characterize inputs using a formal language and build "recognizers" for that language. This effectively requires parsing to be a distinct layer that effectively enforces a boundary between raw input and internal data representations, instead of allowing parser code to be scattered throughout the program, where it could be subject to errors or inconsistencies that create weaknesses. [REF-1109] [REF-1110] [REF-1111]
- [Architecture and Design] Use an input validation framework such as Struts or the OWASP ESAPI Validation API. Note that using a framework does not automatically address all input validation problems; be mindful of weaknesses that could arise from misusing the framework itself (CWE-1173).
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