PYSEC-2026-3405
vLLM: temperature=NaN and temperature=Infinity bypass validation and propagate to GPU kernels
At a glance
- Published
- Updated
- CVE
- CVE-2026-54235
- Aliases
- GHSA-7h4p-rffg-7823
- CVSS_V4
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Description
## Summary All temperature validation gates use comparison operators (`<`, `>`), which silently evaluate to `False` for `NaN` and for positive `Infinity` in Python's IEEE 754 float semantics. Both values pass every guard and propagate to GPU sampling kernels, where they produce undefined behavior or CUDA errors that can crash the inference worker. Note: `-Infinity` is correctly caught. ## Root Cause `sampling_params.py:384`: ```python if 0 < self.temperature < _MAX_TEMP: # NaN → False; +Inf → False ``` `sampling_params.py:462`: ```python if self.temperature < 0.0: # NaN → False; +Inf → False raise VLLMValidationError(...) ``` No `math.isnan()` or `math.isinf()` check exists anywhere in `sampling_params.py`. Python semantics (verified): `float('nan') < 0.0` → `False`, `float('inf') < 0.0` → `False`. ## Impact Crash of inference worker on GPU kernel execution with NaN/Inf softmax input, degrading service for all concurrent users. ## Remediation Add `math.isfinite(self.temperature)` check in `_verify_args()`. Reject non-finite float values with a 400 error. ## Fix A fix for this vulnerability was merged here: https://github.com/vllm-project/vllm/pull/45116
Affected packages
| Package | Versions |
|---|---|
| PyPI · vllm | introduced 0, last affected 0.23.0 |
References
- https://github.com/vllm-project/vllm/security/advisories/GHSA-7h4p-rffg-7823 WEB
- https://github.com/vllm-project/vllm/pull/45116 WEB
- https://github.com/vllm-project/vllm/commit/d598d239737cfa37bcfcb98886ec3f3557fc7198 WEB
- https://github.com/vllm-project/vllm PACKAGE
- https://pypi.org/project/vllm PACKAGE
- https://github.com/advisories/GHSA-7h4p-rffg-7823 ADVISORY
- https://nvd.nist.gov/vuln/detail/CVE-2026-54235 ADVISORY
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — PyPA Advisory Database |