CVE-2026-126397: vLLM: unbounded max_patches enables CPU exhaustion DoS
HIGHCVE-2026-126397 is a denial-of-service flaw in vLLM (0.10.1 up to but not including 0.31.0) where a client-controlled mm_processor_kwargs.max_patches value is passed to the Hugging Face processor for Cohere2 Vision models with no server-side cap, causing quadratic CPU work during image preprocessing. It is rated high (CVSS 7.5) because it is network-reachable, needs no authentication or user interaction, and can be triggered by small requests that vary max_patches to defeat the LRU cache. No EPSS score, public exploit, Nuclei template, or CISA KEV listing exists today, so there is no evidence of active exploitation, but the trivial attack pattern means that could change quickly. Organizations serving Cohere2 Vision models through vLLM's OpenAI-compatible endpoint, especially when internet-exposed or multi-tenant, should upgrade to 0.31.0 or later. Until then, strip or validate mm_processor_kwargs at an API gateway and enforce per-client rate limits.
What is the risk?
Moderate-to-high for exposed deployments. Exploitability is high (network, low complexity, no privileges, no interaction), but impact is limited to availability; there is no confidentiality or integrity effect. No KEV listing, public exploit, or EPSS data is available, so current exploitation likelihood is unconfirmed. Risk is highest for shared or public multimodal inference endpoints, where one client can degrade service for all others. Deployments that do not serve Cohere2 Vision models, or that sit behind an authenticated and filtered gateway, are at much lower risk.
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, which includes the fix (commit f6326f53bda46898a331c2d24500332c285d9a2b; see GHSA-9g3c-x747-c6wr). 2) As a workaround, filter or reject the mm_processor_kwargs field, or cap max_patches, at a reverse proxy or API gateway. 3) Require authentication and apply per-client rate limits and request timeouts on multimodal endpoints. 4) Do not expose vLLM directly to untrusted networks. 5) Detect abuse by monitoring preprocessing CPU saturation, rising request latency, and requests carrying unusually large or highly varied max_patches values from the same source. 6) Inventory deployments serving Cohere2 Vision models to prioritize patching.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-126397?
CVE-2026-126397 is a denial-of-service flaw in vLLM (0.10.1 up to but not including 0.31.0) where a client-controlled mm_processor_kwargs.max_patches value is passed to the Hugging Face processor for Cohere2 Vision models with no server-side cap, causing quadratic CPU work during image preprocessing. It is rated high (CVSS 7.5) because it is network-reachable, needs no authentication or user interaction, and can be triggered by small requests that vary max_patches to defeat the LRU cache. No EPSS score, public exploit, Nuclei template, or CISA KEV listing exists today, so there is no evidence of active exploitation, but the trivial attack pattern means that could change quickly. Organizations serving Cohere2 Vision models through vLLM's OpenAI-compatible endpoint, especially when internet-exposed or multi-tenant, should upgrade to 0.31.0 or later. Until then, strip or validate mm_processor_kwargs at an API gateway and enforce per-client rate limits.
Is CVE-2026-126397 actively exploited?
No confirmed active exploitation of CVE-2026-126397 has been reported, but organizations should still patch proactively.
How to fix CVE-2026-126397?
1) Upgrade vLLM to 0.31.0 or later, which includes the fix (commit f6326f53bda46898a331c2d24500332c285d9a2b; see GHSA-9g3c-x747-c6wr). 2) As a workaround, filter or reject the mm_processor_kwargs field, or cap max_patches, at a reverse proxy or API gateway. 3) Require authentication and apply per-client rate limits and request timeouts on multimodal endpoints. 4) Do not expose vLLM directly to untrusted networks. 5) Detect abuse by monitoring preprocessing CPU saturation, rising request latency, and requests carrying unusually large or highly varied max_patches values from the same source. 6) Inventory deployments serving Cohere2 Vision models to prioritize patching.
What systems are affected by CVE-2026-126397?
This vulnerability affects the following AI/ML architecture patterns: model serving, LLM inference servers, multimodal / vision-language pipelines, OpenAI-compatible API gateways.
What is the CVSS score for CVE-2026-126397?
CVE-2026-126397 has a CVSS v3.1 base score of 7.5 (HIGH).
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0029Denial of AI ServiceAML.T0034.001Resource-Intensive QueriesAML.T0040AI Model Inference API AccessCompliance Controls Affected
What are the technical details?
Original Advisory
vLLM from 0.10.1 before 0.31.0 forwards a request-controlled mm_processor_kwargs.max_patches value to the Hugging Face processor for Cohere2 Vision models without a server-side upper bound, causing quadratic CPU work during multimodal preprocessing. Remote clients can send small image chat-completion requests with large, varying max_patches values to bypass the LRU cache, exhaust preprocessing workers, and deny service to other clients.
Exploitation Scenario
An attacker finds a publicly reachable vLLM OpenAI-compatible endpoint hosting a Cohere2 Vision model. They send a stream of small image chat-completion requests, each with a different large mm_processor_kwargs.max_patches value so the LRU cache never hits. Each request triggers quadratic CPU work in the Hugging Face processor, saturating the preprocessing workers. Legitimate users and downstream applications that depend on the model, such as document-analysis or customer-support assistants, then see timeouts and errors until the attacker is blocked or the server is patched.
Weaknesses (CWE)
CWE-400 — Uncontrolled Resource Consumption: The product does not properly control the allocation and maintenance of a limited resource.
- [Architecture and Design] Design throttling mechanisms into the system architecture. The best protection is to limit the amount of resources that an unauthorized user can cause to be expended. A strong authentication and access control model will help prevent such attacks from occurring in the first place. The login application should be protected against DoS attacks as much as possible. Limiting the database access, perhaps by caching result sets, can help minimize the resources expended. To further limit the potential for a DoS attack, consider tracking the rate of requests received from users and blocking requests that exceed a defined rate threshold.
- [Architecture and Design] Mitigation of resource exhaustion attacks requires that the target system either: The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question. The second solution is simply difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker. recognizes the attack and denies that user further access for a given amount of time, or uniformly throttles all requests in order to make it more difficult to consume resources more quickly than they can again be freed.
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