CVE-2026-54236 json
vLLM: incomplete CVE-2026-22778 fix leaks PIL repr addresses via Anthropic router
published 2026-06-17 4 mo ago modified 2026-10-25 14 d ago also GHSA-hgg8-fqqc-vfmw , PYSEC-2026-3408 , EUVD-2026-38403
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 60%
- public exploits
- 0
- none known, plus a Nuclei check
Summary
vLLM is an inference and serving engine for large language models (LLMs). Prior to 0.23.1rc0, the fix for CVE-2026-22778, which introduced a sanitize_message helper that strips object-repr memory addresses from error messages before they reach the client, is incomplete: several response paths echo str(exc) directly to clients without calling sanitize_message. The unsanitized sites include the Anthropic API router in vllm/entrypoints/anthropic/api_router.py (the POST /v1/messages and POST /v1/messages/count_tokens handlers), the Server-Sent Events streaming converter in vllm/entrypoints/anthropic/serving.py, and the realtime speech-to-text WebSocket in vllm/entrypoints/speech_to_text/realtime/connection.py. These paths catch the exception inside the route coroutine and construct the JSONResponse themselves, bypassing the sanitizing global FastAPI exception handler, and WebSocket frames do not traverse that handler chain at all. Using the same primitive as the parent issue, an unauthenticated attacker can send malformed image bytes through the Anthropic Messages API image content parts so that PIL.Image.open raises an UnidentifiedImageError whose message contains the BytesIO object repr, leaking the heap memory address verbatim in the error.message field of the response body. This vulnerability is fixed in 0.23.1rc0.
Patch / fix
- pypi vllm 0.24.0
- vllm vllm 0.23.1
- github.com/vllm-project/vllm@9492362 commit
- github.com/vllm-project/vllm#45119 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-54236 updated cvss 5.3
vllm: vLLM: Information Disclosure via Incomplete Error Message Sanitization
-
Red Hat AI Inference Server rhaii/vllm-cpu-rhel9, rhaii/vllm-cuda-rhel9, rhaii/vllm-rocm-rhel9, rhaii/vllm-gaudi-rhel9, rhaii/vllm-spyre-rhel9 Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/bootc-rocm-rhel9, rhelai3/bootc-gaudi-rhel9, rhelai3/bootc-aws-cuda-rhel9, rhelai3/bootc-gcp-cuda-rhel9, rhelai3/bootc-azure-cuda-rhel9, +1 more Red Hat OpenShift AI (RHOAI) rhoai/odh-vllm-gaudi-rhel9affected: workaround, no fix available “Fix deferred”
-
Red Hat AI Inference Server rhaii/vllm-tpu-rhel9, rhaiis/vllm-cpu-rhel9, rhaiis/vllm-tpu-rhel9, rhaiis/vllm-cuda-rhel9, rhaiis/vllm-rocm-rhel9, rhaii/vllm-neuron-rhel9, +2 more Red Hat OpenShift AI (RHOAI) rhoai/odh-kserve-agent-rhel9, rhoai/odh-kserve-router-rhel9, rhoai/odh-llm-d-kv-cache-rhel9, rhoai/odh-kserve-controller-rhel9, rhoai/odh-kserve-storage-initializer-rhel9not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.93% chance of exploitation in the next 30 days, higher than 60% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Nuclei template vLLM <= 0.23.0 - Anthropic Router Heap Address Information Leak nuclei detection template
- github.com https://github.com/vllm-project/vllm/security/advisories/GHSA-hgg8-fqqc-vfmw referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | vllm | <0.24.0 <=0.23.0 |
0.24.0 |
Affected products
- vllm-project vllm
Classification
- Weakness
-
- CWE-532 Insertion of Sensitive Information into Log File
References
-
github.com
/vllm-project/vllm/pull/45119
web, issue-tracking
-
github.com
/vllm-project/vllm/commit/94923629729381d7f7c9efde72071a2441f7fd82
web, patch
-
github.com
/vllm-project/vllm/security/advisories/GHSA-hgg8-fqqc-vfmw
exploit, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-54236
advisory
-
github.com
/advisories/GHSA-hgg8-fqqc-vfmw
advisory
-
github.com
/pypa/advisory-database/tree/main/vulns/vllm/PYSEC-2026-3408.yaml
web
-
github.com
/vllm-project/vllm
package
-
pypi.org
/project/vllm
web, package
Sources
- CVE List CVE-2026-54236
- GitHub Advisory GHSA-hgg8-fqqc-vfmw
- NVD CVE-2026-54236
- OSV PYSEC-2026-3408
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.