CVE-2025-25183:
vLLM uses Python 3.12 built-in hash() which leads to predictable hash collisions in prefix cache
2.6
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.05154%
CWE
Published
2/6/2025
Updated
2/10/2025
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
vllm | pip | < 0.7.2 | 0.7.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from using Python's hash(None) which became a fixed value in 3.12. The key functions identified all participate in prefix cache key generation:- 1) content_hash handles block hash calculation chain initialization 2) hash_block_tokens (both versions) directly used None's hash for parent blocks 3) The ComputedBlocksTracker's _update_seq_hashes (implied via prev_block_hash handling). The patches explicitly replaced None with hash('None') in these locations to add randomization, confirming their vulnerability.