CVE-2026-114049: vLLM: stale token mask leaks across requests
LOWvLLM before 0.31.0 has a batch-management flaw in InputBatch.condense() that leaves stale allowed_token_ids rows behind, so one client's token allowlist can be silently applied to a different client's unrestricted request. An attacker who can send concurrent constrained generation requests, including through the unauthenticated /invocations endpoint, can distort other users' outputs. The risk is low: CVSS is 3.7, attack complexity is high, the impact is limited to output integrity (no confidentiality or availability loss), and there is no KEV listing, public exploit or Nuclei template. EPSS and downstream dependent data are unavailable, so exploitation likelihood is unquantified. The practical concern is for shared, multi-tenant inference endpoints where corrupted outputs could feed downstream decisions or automation. Upgrade to vLLM 0.31.0 or later, and restrict network access to /invocations and other inference endpoints to authenticated clients.
What is the risk?
Low overall (CVSS 3.7). The attack is network-reachable with no privileges or user interaction, but it depends on race-like timing of batch slot recycling (high complexity) and is non-deterministic. Impact is limited to integrity of model outputs for co-tenants. Risk rises for multi-tenant or internet-exposed vLLM deployments that use structured or constrained decoding, and for pipelines that trust model output without validation. No known active exploitation, public exploit or scanner template exists.
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, put /invocations and other inference endpoints behind authentication and network controls (API gateway, mTLS, private network). 3) Isolate tenants onto separate vLLM instances if shared serving is not required, or disable or block client-supplied allowed_token_ids and constrained-decoding parameters at the gateway. 4) Validate and schema-check model outputs before downstream use. 5) Monitor for unusual volumes of concurrent requests carrying allowed_token_ids and for anomalous or truncated outputs reported by users.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-114049?
vLLM before 0.31.0 has a batch-management flaw in InputBatch.condense() that leaves stale allowed_token_ids rows behind, so one client's token allowlist can be silently applied to a different client's unrestricted request. An attacker who can send concurrent constrained generation requests, including through the unauthenticated /invocations endpoint, can distort other users' outputs. The risk is low: CVSS is 3.7, attack complexity is high, the impact is limited to output integrity (no confidentiality or availability loss), and there is no KEV listing, public exploit or Nuclei template. EPSS and downstream dependent data are unavailable, so exploitation likelihood is unquantified. The practical concern is for shared, multi-tenant inference endpoints where corrupted outputs could feed downstream decisions or automation. Upgrade to vLLM 0.31.0 or later, and restrict network access to /invocations and other inference endpoints to authenticated clients.
Is CVE-2026-114049 actively exploited?
No confirmed active exploitation of CVE-2026-114049 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-114049?
1) Upgrade vLLM to 0.31.0 or later. 2) Until patched, put /invocations and other inference endpoints behind authentication and network controls (API gateway, mTLS, private network). 3) Isolate tenants onto separate vLLM instances if shared serving is not required, or disable or block client-supplied allowed_token_ids and constrained-decoding parameters at the gateway. 4) Validate and schema-check model outputs before downstream use. 5) Monitor for unusual volumes of concurrent requests carrying allowed_token_ids and for anomalous or truncated outputs reported by users.
What systems are affected by CVE-2026-114049?
This vulnerability affects the following AI/ML architecture patterns: model serving, LLM inference servers, multi-tenant inference APIs, agent frameworks consuming inference output.
What is the CVSS score for CVE-2026-114049?
CVE-2026-114049 has a CVSS v3.1 base score of 3.7 (LOW). The EPSS exploitation probability is 0.27%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0031Erode AI Model IntegrityAML.T0040AI Model Inference API AccessCompliance Controls Affected
What are the technical details?
Original Advisory
vLLM before 0.31.0 contains a cross-request mask leak in InputBatch.condense() that allows remote attackers to constrain other clients' outputs by leaving stale allowed_token_ids rows. Attackers can submit concurrent constrained generate requests, including via unauthenticated /invocations, so recycled batch slots apply their token allowlist to victims' unrestricted requests.
Exploitation Scenario
An attacker finds an exposed vLLM server with an unauthenticated /invocations endpoint shared by several applications. They send many concurrent generation requests with a narrow allowed_token_ids list, so batch slots are repeatedly condensed and recycled. Stale mask rows remain attached to recycled slots, and legitimate users' unrestricted requests that land in those slots are forced to draw only from the attacker's token allowlist. This yields degraded, wrong or attacker-influenced outputs, for example forcing a classifier or agent step toward a specific answer.
Weaknesses (CWE)
CWE-440 — Expected Behavior Violation: A feature, API, or function does not perform according to its specification.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:NReferences
Timeline
Related Vulnerabilities
CVE-2026-6173210.0Decepticon: ChatML token injection yields sandbox RCE
Same package: vllmCVE-2025-472779.8vLLM: RCE via exposed TCPStore in distributed inference
Same package: vllmCVE-2024-110419.8vllm: RCE via unsafe pickle deserialization in MessageQueue
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