Vulnerabilities

Vulnerability · CVE-2026-115911

vLLM: DoS via unbounded chat_template Jinja2 rendering exhausts the renderer thread pool

Published Oct 26, 2026 · catalog updated Oct 28, 2026 · Red Hat Red Hat Enterprise Linux

Last checked Nov 4, 2026. A connected source was read within the last 7 days.

Check if you run it

No confirmed exploitation is on record for CVE-2026-115911. EPSS is 0.31%. Act only if a listed version of Red Hat Red Hat Enterprise Linux is installed.

Gaps on this record

  • No vendor fix or required action is stored. Compare the linked advisory before you change production.

Same product and reporting

Severity
Medium6.5
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
0.31%
Remediation
Version ranges on file
Affected products
pip vllm · pypi vllm

### Summary vLLM renders chat templates by passing the resolved Jinja2 source to , which compiles and s it in an . The sandbox prevents code-execution escapes but imposes **no wall-clock timeout, no output-size cap, and no nested-loop or binop limit**. The render runs in a whose defaults to **1**, and CPython worker threads cannot be interrupted. An authenticated API client (or a malicious model repo loaded with ) can therefore submit a single short template and permanently wedge **all** chat-style endpoints ( , , , -chat, -chat) for every tenant until the process is restarted. A string-multiplication variant instead OOM-kills the API-server process. Because of a separately-reported (GHSA-jmjw-q4x3-hmc2) gate omission on , the remote authenticated attacker vector works in **default configuration** with no operator opt-in. ### Impact A single authenticated request of <100 bytes permanently denies all chat-style inference ( , , , -chat, -chat) to **every tenant** of the API-server replica until the operator restarts the process. The string-multiplication variant OOM-kills the process. In a multi-tenant deployment this is a cross-tenant denial-of-service from any one tenant. From the malicious-model angle, a model repo whose carries the hostile template wedges every replica that loads it on the first legitimate chat request, with . **Preconditions:** any non-harmony model ( ); at its default of 1; for the default-config authenticated API attacker vector, must be unset (the default because most HF models ship their own). **Blast radius:** API-server process, per replica. Engine/worker processes unaffected by the CPU variant (event loop survives); affected by the memory variant (process OOM). **Persistence:** until process restart. Survives client disconnect. This advisory was fixed in [MR50300](https://github.com/vllm-project/vllm/pull/50300).

Are you affected?

Enter the version you run. The result uses only the ranges stored on this record.

The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.

  • pip vllm>= 0.19.0, < 0.32.0
  • pypi vllmversion unspecified

How to fix CVE-2026-115911

What to do

Three questions, each answered from this record only. Confirm the vendor advisory before you patch.

Should you patch?

No confirmed exploitation is on record for CVE-2026-115911. EPSS is 0.31%. Act only if a listed version of Red Hat Red Hat Enterprise Linux is installed.

Which versions are affected?

Compare what you have installed with >= 0.19.0, < 0.32.0. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-400: Uncontrolled Resource Consumption; CWE-770: Allocation of Resources Without Limits or Throttling; CWE-834. EPSS 0.31%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.

Code

The project this record applies to. Exploit listings stay in References.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 26, 2026 · Red Hat Security Data

    Detected

    vllm: vLLM: Denial of Service via unbounded chat template rendering

  2. Oct 28, 2026 · GitHub Advisory Database

    Updated

    ### Summary vLLM renders chat templates by passing the resolved Jinja2 source to , which compiles and s it in an . The sandbox prevents code-execution escapes but imposes **no wall-clock timeout, no output-size cap, and no nested-loop or binop limit**. The render runs in a whose defaults to **1**, and CPython worker threads cannot be interrupted. An authenticated API client (or a malicious model r

Sources

  • CVE.orgVulnerability recordCVE-2026-115911

    Official CVE identifier

    cve.org
  • FIRST EPSSExploitation probabilityCVE-2026-115911

    30-day exploitation probability 0.31%

    first.org
  • GitHub Advisory DatabasePackage advisoryGHSA-542m-9234-8gvf

    vLLM: DoS via unbounded chat_template Jinja2 rendering exhausts the renderer thread pool

    github.com
  • GitLab Advisory DatabasePackage advisoryCVE-2026-115911

    vLLM renders chat templates by passing the resolved Jinja2 source to tokenizer.apply_chat_template(), which compiles and .render()s it in an ImmutableSandboxedEnvironment. The sandbox prevents code-execution escapes but imposes no wall-clock timeout, no output-size cap, and no nested-loop or binop limit. The render runs in a ThreadPoolExecutor whose max_workers defaults to 1, and CPython worker th

    advisories.gitlab.com
  • Red Hat Security DataVendor advisoryCVE-2026-115911

    vllm: vLLM: Denial of Service via unbounded chat template rendering

    access.redhat.com

References

Freshness

Last verified in this catalog Nov 4, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.

  • FIRST EPSSNov 4, 2026
  • GitLab Advisory DatabaseOct 29, 2026
  • GitHub Advisory DatabaseOct 29, 2026
  • CVE.orgOct 27, 2026
  • Red Hat Security DataOct 27, 2026