CVE-2026-112405
published 2026-10-19CVE-2026-112405: Pillow is a Python imaging library. From 12.0.0 until 13.0.0, Pillow's Image.merge() can dereference a null image8 plane. Validation skips the first input…
PriorityP351high8.7CVSS 4.0
AVNACLATNPRNUINVCNVINVAHSCNSINSANEXCRXIRXARXMAVXMACXMATXMPRXMUIXMVCXMVIXMVAXMSCXMSIXMSAXSXAUXRXVXREXUX
EPSS
0.42%
35.8th percentile
Pillow is a Python imaging library. From 12.0.0 until 13.0.0, Pillow's Image.merge() can dereference a null image8 plane. Validation skips the first input band, allowing a 32-bit integer or floating-point image backed by image32 storage to be merged as a narrower multiband image. A crafted IPTC file can reach this path when an application opens and loads it, or a caller can invoke Image.merge() directly with such a first band. This causes a native process crash. This issue is fixed in version 13.0.0.
Affected
80 ranges· showing 25
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| ansible-automation-platform-26 | hub-rhel9 | — | — |
| ansible-automation-platform-26 | lightspeed-chatbot-rhel9 | — | — |
| ansible-automation-platform-27 | hub-rhel9 | — | — |
| ansible-automation-platform-27 | lightspeed-chatbot-rhel9 | — | — |
| ansible-automation-platform | automation-dashboard-rhel9 | — | — |
| exploit-intelligence | vulnerability-analysis-rhel9 | — | — |
| lightspeed-core | lightspeed-stack-rhel9 | — | — |
| lightspeed-core | rag-tool-cpu-rhel9 | — | — |
| lightspeed-core | rag-tool-cuda-12.9-rhel9 | — | — |
| lightspeed-services-ocp | ocp-rules-rhel9 | — | — |
| openshift-lightspeed-tech-preview | lightspeed-rag-tool-rhel9 | — | — |
| openshift-lightspeed | lightspeed-ocp-rag-rhel9 | — | — |
| openshift-lightspeed | lightspeed-service-api-rhel9 | — | — |
| python-pillow | pillow | — | — |
| python | pillow | >= 12.0.0 < 13.0.0 | 13.0.0 |
| quay | quay-rhel8 | — | — |
| quay | quay-rhel9 | — | — |
| rhai-early-access | docling-sdk-cuda-rhel9 | — | — |
| rhai-early-access | docling-serve-cuda-rhel9 | — | — |
| rhai | guidellm-rhel9 | — | — |
| rhaii | model-opt-cuda-rhel9 | — | — |
| rhaii | vllm-cpu-rhel9 | — | — |
| rhaii | vllm-cuda-rhel9 | — | — |
| rhaii | vllm-gaudi-rhel9 | — | — |
| rhaii | vllm-neuron-rhel9 | — | — |
CVSS provenance
nvdv4.08.7HIGHCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vendor_redhat8.7HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
Pillow: NULL pointer dereference in Image.merge via an unvalidated band 0
ghsa·2026-10-21
CVE-2026-112405 [HIGH] CWE-476 Pillow: NULL pointer dereference in Image.merge via an unvalidated band 0
Pillow: NULL pointer dereference in Image.merge via an unvalidated band 0
### Summary
`Image.merge()` checks the mode of every input band except band 0. If band 0 is a single-band `I` or `F` image, the native merge routine reads a pixel pointer that is NULL for those modes and the process crashes. The IPTC plugin reaches this from a plain `Image.open()` followed by a load, and IPTC has no magic-byte prefilter, so a crafted file with no recognizable header can drive it.
### Details
The validation loop skips band 0:
- `src/PIL/Image.py:3795` iterates `for band in bands[1:]` and checks mode and size only for those.
For an `I` or `F` image the 8-bit plane `image8` is NULL (only `image32` is set). `ImagingMerge` dereferences `bands[0]->image8[y]` for the multi-band output modes:
- `src/lib
VulDB
Pillow up to 12.x IPTC file Image.merge null pointer dereference
vuldb·2026-10-20·CVSS 8.7
CVE-2026-112405 [HIGH] Pillow up to 12.x IPTC file Image.merge null pointer dereference
A vulnerability has been found in Pillow up to 12.x and classified as problematic. Affected by this vulnerability is the function Image.merge of the component IPTC file Handler. Performing a manipulation results in null pointer dereference.
This vulnerability is known as CVE-2026-112405. Remote exploitation of the attack is possible. No exploit is available.
The affected component should be upgraded.
Red Hat
pillow: Pillow: Denial of Service via null pointer dereference in Image.merge()
vendor_redhat·2026-10-19·CVSS 8.7
CVE-2026-112405 [HIGH] CWE-476 pillow: Pillow: Denial of Service via null pointer dereference in Image.merge()
pillow: Pillow: Denial of Service via null pointer dereference in Image.merge()
A flaw was found in Pillow. A remote attacker can cause a Denial of Service (DoS) by supplying a specially crafted image file to an application that processes images with the library. This issue occurs because the Image.merge() function fails to properly validate the first input band, allowing mismatched image storage formats to trigger a null pointer dereference. Consequently, processing the malformed image causes the native application process to crash.
Mitigation: --- CME Mitigation Guidance (2026-10-20) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from http
No detection rules found.
No public exploits indexed.
2026-10-19
Published