vLLM using built-in hash() from Python 3.12 leads to predictable hash collisions in vLLM prefix cache
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- High
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
vLLM is a high-throughput and memory-efficient inference and serving engine for LLMs. Maliciously constructed statements can lead to hash collisions, resulting in cache reuse, which can interfere with subsequent responses and cause unintended behavior. Prefix caching makes use of Python's built-in hash() function. As of Python 3.12, the behavior of hash(None) has changed to be a predictable constant value. This makes it more feasible that someone could try exploit hash collisions. The impact of a collision would be using cache that was generated using different content. Given knowledge of prompts in use and predictable hashing behavior, someone could intentionally populate the cache using a prompt known to collide with another prompt in use. This issue has been addressed in version 0.7.2 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| vllm-project | vllm | before 0.7.2 | 0.7.2 | Patch available | CNA |
| — | vllm (PyPI) | before 0.7.2 | 0.7.2 | Patch available | GHSA-rm76-4mrf-v9r8 |
- vllm Vendorvllm-project Affected before 0.7.2 Fixed in 0.7.2 Patch available CNA
- vllm (PyPI) Vendor— Affected before 0.7.2 Fixed in 0.7.2 Patch available GHSA-rm76-4mrf-v9r8
Remediation
- Fix · CNA vllm (vllm-project) Fixed in 0.7.2
- Fix · GHSA-rm76-4mrf-v9r8 vllm (PyPI) Fixed in 0.7.2 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux AI (RHEL AI) | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2025-25183
- 2026-10-03 Alias added: GHSA-rm76-4mrf-v9r8
References
Advisory 2
Other 6
- https://github.com/vllm-project/vllm/pull/12621
- https://github.com/python/cpython/commit/432117cd1f59c76d97da2eaff55a7d758301dbc7
- https://github.com/python/cpython/pull/99541
- https://github.com/vllm-project/vllm/commit/73b35cca7f3745d07d439c197768b25d88b6ab7f
- https://github.com/pypa/advisory-database/tree/main/vulns/vllm/PYSEC-2025-62.yaml
- https://github.com/vllm-project/vllm
More vllm-project vulnerabilities
- TI-2024-10229 Remote Code Execution in vllm-project/vllm CVSS 3.0CRITICAL 9.8
- TI-2024-08404 Remote Code Execution in vllm-project/vllm CVSS 3.1CRITICAL 9.8
- TI-2026-36017 vLLM: OpenAI auth bypass CVSS 3.1CRITICAL 9.1
- TI-2026-63056 vLLM before 0.28.0 Denial of Service via negative token ID CVSS 4.0HIGH 8.7
- TI-2026-04308 Hardcoded trust_remote_code=True in vllm-project/vllm Bypasses User Security Control CVSS 3.0HIGH 8.8
- TI-2026-39137 vLLM: Remote DoS in vLLM via Invalid Recovered Token Reinjection CVSS 3.1HIGH 7.5
Sources
- CVE-2025-25183 · CVE Program
- CVE-2025-25183 · NVD
- FIRST EPSS
- GHSA-rm76-4mrf-v9r8 · GitHub Advisory Database · CC BY 4.0
- CVE-2025-25183 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences