Staging Environment: Content and features may be unstable or change without notice.
Advisory details: vulnrichment / CVE-2026-22778
Advisory ID vulnrichment/CVE-2026-22778
Aliases
Summary vLLM is an inference and serving engine for large language models (LLMs). From 0.8.3 to before 0.14.1, when an invalid image is sent to vLLM's multimodal endpoint, PIL throws an error. vLLM returns this error to the client, leaking a heap address. With this leak, we reduce ASLR from 4 billion guesses to ~8 guesses. This vulnerability can be chained a heap overflow with JPEG2000 decoder in OpenCV/FFmpeg to achieve remote code execution. This vulnerability is fixed in 0.14.1.
Status Published
Exploitability 0.5
Weighted Severity 0.0
Risk
Affected and Fixed Packages Package Details
Introduced and Fixed Package Commit Patches Package Commit Patches Details
Weaknesses (1)
System Score Found at
cvssv3.1 9.8
ssvc Track
Data source Metasploit
Description This module detects vLLM OpenAI-compatible servers affected by CVE-2026-22778. When an invalid image is sent to a multimodal endpoint, Pillow (PIL) raises UnidentifiedImageError whose message includes the Python repr of the underlying BytesIO buffer ("<_io.BytesIO object at 0x...>"), exposing a live heap address. Vulnerable versions return that error message directly to the client, which weakens ASLR and forms the first stage of a chain that ends in a JPEG2000 heap overflow in the bundled FFmpeg/OpenCV video decoder. Affected versions are 0.8.3 through 0.14.0 (fixed in 0.14.1, which sanitizes the address out of the message). The module first reads the unauthenticated /version banner and compares it against the affected range. It then issues a single benign request to the chat completions endpoint containing a deliberately malformed base64 image. If the response leaks a "0x" heap address the target is reported vulnerable with high confidence; if the address is stripped the fix is present; if the server reports that the model has no image support the leak path is not reachable as deployed. The probe never sends a video URL and never reaches the heap-overflow code path.
Note
Stability:
  - crash-safe
Reliability: []
SideEffects:
  - ioc-in-logs
Ransomware campaign use Unknown
Source publication date Feb. 2, 2026
Source URL https://github.com/rapid7/metasploit-framework/tree/master/modules/auxiliary/scanner/http/vllm_multimodal_info_leak.rb

No EPSS data available for this advisory.

Patch URL
There are no known patches.
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Found at None
Attack Vector (AV) Attack Complexity (AC) Privileges Required (PR) User Interaction (UI) Scope (S) Confidentiality Impact (C) Integrity Impact (I) Availability Impact (A)

network

adjacent_network

local

physical

low

high

none

low

high

none

required

unchanged

changed

high

low

none

high

low

none

high

low

none


Vector: SSVCv2/E:N/A:Y/T:T/P:M/B:A/M:M/D:T/2026-02-03T15:40:34Z/ Found at None

Vector: SSVCv2/E:N/A:Y/T:T/P:M/B:A/M:M/D:T/2026-02-03T15:40:34Z/

Decision: Track

Source URL: https://github.com/cisagov/vulnrichment/blob/develop/2026/22xxx/CVE-2026-22778.json

Source Advisory: vulnrichment/CVE-2026-22778

View SSVC decision tree
[{'Exploitation': 'none'},
 {'Automatable': 'yes'},
 {'Technical Impact': 'total'},
 {'Mission Prevalence': 'minimal'},
 {'Public Well-being Impact': 'material'},
 {'Mission & Well-being': 'medium'}]