Skip to content
Vulnerability Intelligence

CVE-2026-54236

MediumPublic exploit

vLLM: incomplete CVE-2026-22778 fix leaks PIL repr addresses via Anthropic router

Published Jun 17, 2026 · Updated Sep 10, 2026 · Also known as GHSA-hgg8-fqqc-vfmw, PYSEC-2026-3408

Key Facts

Routine patching
  • CVE-2026-54236 is a medium-severity vulnerability (CVSS 5.3 v3.1) affecting Vllm, tritonserver-backend-vllm-cuda-13.0 (chainguard), vllm-cuda-13.2 (chainguard) and 4 more products.
  • It is not listed in any known-exploited vulnerabilities catalog. Public exploit code is available.
  • EPSS estimates a 0.9% probability of exploitation in the next 30 days.
  • Fixed versions are available, including tritonserver-backend-vllm-cuda-13.0 25.11-r12, Vllm 0.24.0, Vllm 0.23.1.
  • Brandefense priority: routine patching, as no exploitation is known and its severity is moderate or low.

CVSS v3.1

5.3

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

EPSS (30-day exploit likelihood)

0.9%

Higher than 59.8% of all scored CVEs

Exploited in the wild

No known

Not in a known-exploited catalog

Public exploit code

Available

Proof-of-concept or weaponized module

Get the full CVE-2026-54236 brief as a PDF

Every affected product and fixed release, exploitation status and a first 24 hours response checklist, emailed within minutes.

Description

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.

Affected Products

9 affected entries in total
ProductAffected versionsFixed in
VllmVllm>= < 0.23.1rc00.23.1
tritonserver-backend-vllm-cuda-13.0chainguardSee advisory25.11-r12
vllm-cuda-13.2chainguardSee advisory0.24.0-r0
vllm-openai-cuda-12.9chainguardSee advisory0.28.0-r0
vllm-openai-cuda-13.0chainguardSee advisory0.24.0-r1
2 more affected products in the full CVE brief

Patched Releases

tritonserver-backend-vllm-cuda-13.0

25.11-r12

Vllm

0.24.0, 0.23.1

vllm-cu129

0.24.0-r0

vllm-cu130

0.24.0-r0

vllm-cuda-13.2

0.24.0-r0

vllm-openai-cuda-12.9

0.28.0-r0

vllm-openai-cuda-13.0

0.24.0-r1

Timeline

  1. Publicly disclosed

    Jun 17, 2026

  2. Last updated

    Sep 10, 2026

Weakness Type

  • CWE-209 Generation of Error Message Containing Sensitive Information
  • CWE-532 Insertion of Sensitive Information into Log File

References

4 more references in the full CVE brief

FAQ

Common Questions.

Is CVE-2026-54236 Running On Your Attack Surface?

Brandefense maps vulnerabilities like this one to your internet-facing assets and tells you exactly where to patch.

Request A Demo