Safeguard
Vulnerability Analysis•

CVE-2026-105759: Medium Metrics Memory DoS in vLLM Rust Frontend

vLLM before 0.30.0 lets unique HTTP method tokens grow Prometheus labels without limit in the Rust frontend. Upgrade to 0.30.0 and guard /metrics.

Safeguard Security Team
4 min read

CVE-2026-105759 is a Medium severity denial of service in vLLM's Rust frontend. Before 0.30.0, the metrics middleware records the raw HTTP method as a Prometheus label, so an unauthenticated client sending unique method names makes memory and the metrics response grow until the service fails. Upgrade to 0.30.0.

What's affected

  • Product: vLLM, the LLM inference and serving engine, in its Rust frontend.
  • Affected: versions before 0.30.0, per the record and the project advisory.
  • Fixed: 0.30.0.
  • Condition: the Rust frontend is in use. The advisory says it is enabled with VLLM_USE_RUST_FRONTEND set to 1, or by running the vllm-rs binary directly.
  • Score: CVSS 5.9, Medium. The project advisory also rates it Moderate.

How to check if you're exposed

Find vLLM deployments and then find out whether they use the Rust frontend.

pip show vllm
env | grep VLLM_USE_RUST_FRONTEND
ps aux | grep vllm-rs
curl -s localhost:8000/metrics | wc -c

The last command measures the size of the metrics response on a local server. If the size is much larger than it was after startup, label growth may be happening, although normal traffic also adds some series. Compare against a baseline from your monitoring system.

Check container definitions and Helm values for the environment variable. Deployments on the standard Python frontend are outside the advisory text.

Safeguard's free in-browser dependency scan at gold.safeguard.sh/scan reads a manifest or lockfile and shows which packages carry known CVEs, including this one. Nothing is installed and nothing leaves your browser session beyond the scan itself.

What to do now

  1. Upgrade vLLM to 0.30.0 or later on every deployment that uses the Rust frontend.
  2. Do not expose the inference endpoints directly to the internet. Place them behind an authenticated gateway that rejects unusual HTTP methods.
  3. Restrict who can scrape the metrics endpoint to your monitoring system only.
  4. Set a memory limit and a restart policy on the serving process and alert on memory growth.
  5. Watch the number of metric series in Prometheus for sudden increases.
  6. Add the serving stack to continuous monitoring so new advisories are noticed quickly.

Why it matters

The record lists CWE-400, uncontrolled resource consumption. Prometheus labels create a new time series for every distinct value, and the server never forgets a series once created. Using an attacker controlled string as a label value means the attacker decides how much memory the process holds.

The advisory explains that the HTTP libraries accept arbitrary tokens as methods. The router answers with a 405 error, but the request still passes through the metrics middleware first. Memory grows until the process is killed, and each scrape of the metrics endpoint becomes bigger and slower, which can also hurt your monitoring path.

The fix maps methods to a small allowlist and collapses everything else to a single label, per the pull request. High cardinality labels are a well known trap in metrics code. Review any middleware in your own services that labels by user supplied values. The record does not list this CVE as exploited in the wild.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Does this affect the Python frontend?

The advisory describes the Rust frontend only, enabled by an environment variable or the vllm-rs binary.

What is the fix?

The pull request maps HTTP methods to a fixed allowlist and puts everything else under a single other label.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.