Skip to main content

vLLM CVE-2026-105759

HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-10-05 security-advisories@github.com
7.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach vLLM Rust frontend over network
  2. Delivery
    Send requests with unique method tokens to /tokenize
  3. Exploit
    Each token creates permanent Prometheus label set
  4. Execution
    Memory and /metrics response grow unbounded
  5. Impact
    Service or monitoring path exhausted (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires the vLLM Rust frontend (versions prior to 0.30.0) to be deployed with its track_http_metrics middleware active and at least one 'unguarded' route reachable by the attacker (the advisory names /tokenize; /detokenize is similarly affected per the fix tests). No authentication is needed (PR:N) and no user interaction (UI:N), and default configurations are vulnerable because the middleware records the raw HTTP method token for any request reaching a registered route. Limiting factors: exploitation only applies to the Rust frontend (not necessarily the Python server path), impact is cumulative and requires a sustained stream of many unique method tokens to meaningfully exhaust memory or bloat /metrics, so a single request is harmless and detection via abnormal memory/series growth is feasible.

Impact

Signals are consistent and point to a genuine but moderate-priority availability issue rather than a top-tier emergency. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) confirms remote, unauthenticated, low-complexity reach, and the GitHub-assigned 7.5 derives entirely from availability impact (C:N/I:N/A:H) - there is no confidentiality or integrity exposure, matching CWE-400 (resource exhaustion). EPSS is low at 0.33% (24th percentile), the CVE is NOT in CISA KEV, and SSVC rates Exploitation as 'poc', Automatable 'no', Technical Impact 'partial'. These are mutually reinforcing: a proof-of-concept exists (the fix commit ships a working test that injects unique method tokens like 'XVULNCARD000001' against /tokenize), but there is no evidence of mass automated exploitation. One nuance worth flagging: CVSS encodes A:H (total availability loss), whereas SSVC calls the technical impact only 'partial' and the mechanism is gradual, cumulative memory growth rather than an instant crash - so real-world impact depends on how long an attacker sustains the flood and on monitoring-pipeline fragility. Net: a real defect worth patching, but a slow-burn resource-exhaustion DoS, not a critical RCE.

Exploit ScenarioDerived

An attacker with network access to a vLLM instance running the Rust frontend (prior to 0.30.0) scripts an HTTP client to repeatedly hit an unguarded route such as /tokenize, each time supplying a unique arbitrary method token. Each novel token is recorded verbatim as a Prometheus label, permanently allocating new counter and histogram series via Family::get_or_create, so process memory and the /metrics response grow without bound until the service or its monitoring path is exhausted. A proof-of-concept is effectively public: the fix commit includes a regression test that drives this exact behavior with crafted method tokens.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Oct 16, 2026

Unauthenticated requests carrying attacker-chosen HTTP method tokens can drive unbounded Prometheus label growth in vLLM's Rust frontend prior to 0.30.0, exhausting process memory and inflating the /metrics response until the service or its monitoring path becomes unusable (CWE-400, CVSS 7.5 availability-only). The vulnerability applies to deployments where the track_http_metrics middleware is active and an 'unguarded' route such as /tokenize or /detokenize is reachable; the advisory and fix tests confirm those routes accept the request and record the raw method token as a metrics label. Publicly available exploit code exists, but CISA KEV does not list this CVE as actively exploited and EPSS is low (0.33%, ~24th percentile); the CISA SSVC assessment rates technical impact as partial and automation as 'no', since meaningful exhaustion requires a sustained stream of many unique method tokens rather than a single request. The issue is fixed in vLLM 0.30.0.

Earlier versions of this analysis (1)
v1 Oct 05, 2026 - 23:30 CVSS 5.9

Unbounded Prometheus label cardinality in the vLLM Rust frontend before 0.30.0 lets unauthenticated remote attackers exhaust process memory and bloat the /metrics endpoint by sending requests carrying unique arbitrary HTTP method tokens. Because the track_http_metrics middleware records the raw method token as a Prometheus label for any request that reaches a registered route, an attacker can repeatedly hit unguarded endpoints such as /tokenize and /detokenize with attacker-controlled method strings, causing Prometheus's Family::get_or_create to permanently retain a new counter and histogram label set for each unique value. The CVSS vector (PR:N) confirms no authentication is required, and impact is limited to availability; no public exploit code or confirmed active exploitation was identified at time of analysis, and effective denial of service requires sustained request volume rather than a single request.

RemediationAI

Upgrade to the fixed release: vendor-released patch in vLLM 0.30.0 (the fix is commit 3735c2d5f5248259482b9045c34fb7a8a3892352, merged via PR 56058 and documented in GHSA-5fj9-pfhr-6j48), which bounds the Prometheus 'method' label by mapping any non-standard HTTP method to the single value 'other' - no configuration change is needed once the patched Rust frontend is deployed, and it does not alter handling of the nine standard methods. If upgrading immediately is not possible, layer compensating controls with explicit trade-offs: reject non-standard HTTP methods at the reverse proxy or ingress in front of the Rust frontend (allow only GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS/CONNECT/TRACE and return 405 otherwise), which stops new series creation but may break clients or health probes that legitimately use custom methods; restrict network access to the Rust frontend's inference routes (/tokenize, /detokenize and peers) to trusted internal callers via firewall rules or mTLS, accepting that this reduces the service's exposure to intended external consumers; and disable or gate the /metrics endpoint and its scraping so cardinality growth is neither externally observable nor able to bloat the response path, at the cost of losing monitoring visibility. Operationally, set memory limits/restart policies on the frontend container and alert on abnormal growth in process RSS or on the number of distinct 'method' label values returned by /metrics, since a single request is harmless and the impact is cumulative over many unique tokens. All mitigations are secondary to applying the 0.30.0 upgrade, and no vendor-released patch exists for older versions other than upgrading.

Affected Packages

pypi vllm fix: 0.30.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

vLLM is a high-throughput inference and serving engine for large language models, and recent versions ship a Rust frontend (axum-based) alongside the Python server. The track_http_metrics middleware in rust/src/server/src/middleware/metrics.rs records the HTTP method as a Prometheus label on http_requests_total and http_request_duration_seconds histograms. Before the fix, it used req.method().as_str() directly. HTTP parsers (axum/hyper) accept arbitrary, RFC-allowed method tokens, so an attacker can synthesize unlimited unique method strings and send them from unauthenticated requests to registered routes such as /tokenize and /detokenize. Because Prometheus client libraries key counter/histogram families by a Family::get_or_create label set, each unique token permanently allocates a new time series that is never garbage-collected, producing the classic CWE-400 'uncontrolled resource consumption' / metrics-label-cardinality exhaustion pattern. The upstream commit 3735c2d5f5248259482b9045c34fb7a8a3892352 adds an http_metrics_method() helper that collapses all non-standard methods into a single bounded 'other' label value and includes tests asserting that fabricated tokens like XVULNCARD000001 never appear in rendered metrics; the fix is the bounded-cardinality pattern, not rate limiting or authentication. The affected CPE is cpe:2.3:a:vllm:vllm:*:*:*:*:*:*:*:*.

Know when Vllm gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated low-complexity requests to default routes with only availability impact (memory/series exhaustion), no confidentiality or integrity effect; concurs with the input vector.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 5.9 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

3
Analysis Updated
Oct 16, 2026 - 20:59 vuln.today
v2 - CVSS changed
Severity Changed
Oct 16, 2026 - 20:56 NVD
MEDIUM HIGH
CVSS changed
Oct 16, 2026 - 20:56 NVD
5.9 (MEDIUM) 7.5 (HIGH)

DescriptionNVD

vLLM is an inference and serving engine for large language models. Prior to 0.30.0, the Rust frontend's track_http_metrics middleware records the raw HTTP method token as a Prometheus label for requests reaching registered routes. An unauthenticated attacker can send unique arbitrary method tokens to unguarded routes such as /tokenize, causing Prometheus's Family::get_or_create function to permanently create counter and histogram label sets. Those label sets increase process memory usage and enlarge the /metrics response until the service or monitoring path is exhausted. This issue is fixed in version 0.30.0.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 4 pypi packages depend on vllm (4 direct, 0 indirect)

Ecosystem-wide dependent count for version 0.30.0.

Technical POC Analysis

CWE-400 (Uncontrolled Resource Consumption), realized as unbounded metric label cardinality.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

vLLM's Rust frontend, in versions prior to 0.30.0, is vulnerable to a memory exhaustion issue that can render the service and its monitoring path unavailable. Organizations running affected vLLM deployments-particularly those with the track_http_metrics middleware enabled and public-facing /tokenize or /detokenize endpoints-face potential denial-of-service that could disrupt AI inference workloads and impair observability. Leadership should prioritize remediation because this availability risk can cascade to dependent applications and erode trust in AI service reliability.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
vLLM widely used in AI serving, but this affects the newer Rust frontend specifically
Data Quality
7 sources
Confidence: High
🇯🇵JVN NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
Medium
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)NVD

cpe:2.3:a:vllm:vllm:*:*:*:*:*:*:*:*

More in Vllm

View all
CVE-2025-32444 CRITICAL POC
10.0 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated critical severity (CVSS 10.0

CVE-2024-11041 CRITICAL POC
9.8 Mar 20

vllm-project vllm version v0.6.2 contains a vulnerability in the MessageQueue.dequeue() API function. Rated critical sev

CVE-2026-22778 CRITICAL POC
9.8 Feb 02

Information exposure in vLLM inference engine versions 0.8.3 to before 0.14.1. Invalid image requests to the multimodal

CVE-2025-59425 HIGH POC
7.5 Oct 07

Timing-based API key recovery in vLLM before 0.11.0rc2 can let remote attackers bypass bearer-token authentication on de

CVE-2025-30202 HIGH POC
7.5 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated high severity (CVSS 7.5), th

CVE-2026-54234 HIGH POC
7.5 Jul 06

Denial of service in the vLLM LLM inference server (all versions prior to 0.24.0) allows a remote client to crash the sh

CVE-2026-24779 HIGH POC
7.1 Jan 27

vLLM before version 0.14.1 contains a server-side request forgery vulnerability in the MediaConnector class where incons

CVE-2026-57173 MEDIUM POC
6.5 Sep 16

Out-of-memory worker crashes in vLLM can be induced by a single small compressed audio payload submitted to the /v1/chat

CVE-2025-46560 MEDIUM POC
6.5 Apr 30

vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Rated medium severity (CVSS 6.5),

CVE-2026-69147 MEDIUM POC
6.5 Sep 16

GPU memory exhaustion in vLLM versions prior to 0.28.0 lets an attacker with low-privileged API access (PR:L in the CVSS

CVE-2026-105753 MEDIUM POC
6.5 Oct 05

Multimodal inference requests to vLLM deployments running versions prior to 0.28.0 can trigger a process-level assertion

CVE-2026-73559 MEDIUM POC
6.5 Aug 13

Uncontrolled resource consumption in vLLM's OpenAI-compatible completions endpoint allows any authenticated API client t

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy