CVE-2026-115915
validatedZero produced an exploit or a check.GHSA-h3rc-j82p-2c3h ↗EUVD-2026-110035 ↗
description
vLLM releases before 0.32.0 may route attacker-supplied image content to unintended Pillow decoders. An attacker able to submit images through enabled image request paths could cause command execution on hosts with the affected Ghostscript dependency or exhaust media workers with affected Pillow releases.
mitigation
Upgrade vLLM to version 0.32.0 or later. Until upgraded, restrict untrusted access to image-capable request paths and remove or update affected Ghostscript and Pillow dependencies.
fixed in 0.32.0
outcome
Check only, differential: the check fires on the vulnerable build and is silent on the patched one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-26 17:16Zcve_org: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/CVE-2026-115915
{ "etk_id": "ETK-2026-2670", "cve_id": "CVE-2026-115915", "display_id": "CVE-2026-115915", "ghsa_id": "GHSA-h3rc-j82p-2c3h", "euvd_id": "EUVD-2026-110035", "status": "published", "anchor_state": "anchored", "title": "Unrestricted image decoder selection in vLLM", "summary": "vLLM releases before 0.32.0 may route attacker-supplied image content to unintended Pillow decoders. An attacker able to submit images through enabled image request paths could cause command execution on hosts with the affected Ghostscript dependency or exhaust media workers with affected Pillow releases.", "mitigation": "Upgrade vLLM to version 0.32.0 or later. Until upgraded, restrict untrusted access to image-capable request paths and remove or update affected Ghostscript and Pillow dependencies.", "vendor": "vllm-project", "product": "vllm", "affected": [ { "affected_notes": [], "affected_ranges": [ "0.30.0" ], "ecosystem": "pip", "fixed_versions": [ "0.32.0" ], "package_name": "vllm", "purl": "pkg:pypi/vllm" } ], "cwes": [ 20 ], "cvss_score": 8.1, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "deterministic", "check": true, "check_confidence_basis": "differential", "exploit": false, "pipeline_minutes": 65.09858468333333, "t0_at": "2026-10-26T17:16:06.387000+00:00", "signals": { "check": { "at": "2026-10-26T18:45:02.970803+00:00", "days": 0.061766016238425925, "is_lower_bound": false, "measured_at": "2026-10-26T17:16:06.387000+00:00", "url": null }, "trigger_signal": { "at": "2026-10-26T17:16:06.387000+00:00", "days": 0, "is_lower_bound": false, "measured_at": "2026-10-26T17:16:06.387000+00:00", "url": "https://www.cve.org/CVERecord?id=CVE-2026-115915" } } }
published 2026-10-26 17:39Z
last change 2026-10-26 20:15Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.