CVE-2026-44223: vLLM: extract_hidden_states speculative decoding crashes server on any request with penalty parameters
vLLM is an inference and serving engine for large language models (LLMs). From 0.18.0 to before 0.20.0, the extract_hidden_states speculative decoding proposer in vLLM returns a tensor with an incorrect shape after the first decode step, causing a RuntimeError that crashes the EngineCore process. The crash is triggered when any request in the batch uses sampling penalty parameters (repetition_penalty, frequency_penalty, or presence_penalty). A single request with a penalty parameter (e.g., "repetition_penalty": 1.1) is sufficient to crash the server. This vulnerability is fixed in 0.20.0.
Security readout for executives and security teams
Plain-English summary
A bug in the vLLM large language model server causes it to crash whenever a request uses common sampling controls like repetition, frequency, or presence penalties. Any authenticated user submitting a single such request can knock the inference engine offline, disrupting AI-powered features until the service restarts.
Executive priority
Treat as a moderate availability risk for teams running self-hosted vLLM inference. Schedule the 0.20.0 upgrade in the next standard maintenance window; escalate if the service supports revenue-generating or customer-facing AI features where an outage would be material.
Technical view
In vLLM 0.18.0 through 0.19.x, the extract_hidden_states speculative decoding proposer returns a tensor with an incorrect shape after the first decode step. When a batched request includes repetition_penalty, frequency_penalty, or presence_penalty, this shape mismatch raises a RuntimeError that terminates the EngineCore process. The defect is tracked under CWE-131 (incorrect size calculation) and CWE-704 (type conversion) and is resolved in vLLM 0.20.0 via pull request 38610.
Likely exposure
Organizations self-hosting vLLM 0.18.0 to 0.19.x for internal or customer-facing LLM inference are exposed, particularly when speculative decoding is enabled and clients can set penalty parameters. Network-reachable inference APIs with low privilege requirements are most at risk of unplanned outages.
Exploitation context
Not listed in CISA KEV and no public reports of active exploitation are cited in the source bundle. The advisory describes a crash condition triggered by legitimate-looking parameters rather than a memory corruption or code execution path. CVSS 3.1 base score is 6.5 with availability-only impact (AV:N/AC:L/PR:L/UI:N/C:N/I:N/A:H).
Researcher notes
Impact is confined to availability: no confidentiality or integrity effects per the CVSS vector. Low privilege (PR:L) suggests an authenticated API caller is required, but many vLLM deployments accept broad internal access. Reproduction requires triggering the speculative decoding path with any penalty parameter after the first decode step. The upstream fix is PR 38610; diffing that patch clarifies the corrected tensor shape handling. No exploit code is warranted since the trigger is a documented, legitimate parameter.
Mitigation direction
Upgrade vLLM to version 0.20.0 or later where the shape bug is fixed.
Until upgrade, disable speculative decoding with extract_hidden_states proposer if operationally acceptable.
Restrict who can submit inference requests and rate-limit anonymous or low-trust callers.
Consider filtering or rejecting repetition_penalty, frequency_penalty, and presence_penalty at an API gateway as a stopgap.
Add supervisor or orchestrator auto-restart for EngineCore to shorten outage windows.
Monitor GHSA-83vm-p52w-f9pw for any updated vendor guidance.
Validation and detection
Inventory vLLM deployments and confirm installed versions against the 0.18.0 to <0.20.0 range.
Check runtime configuration for speculative decoding using the extract_hidden_states proposer.
Review recent EngineCore logs for RuntimeError traces tied to tensor shape mismatches.
Verify upgrade success by running a controlled request with a penalty parameter in a non-production environment.
Confirm gateway or client policies handle penalty parameters as expected after remediation.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-131: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.