Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-114501— Pillow: Arrow export leaks stale heap memory when PILLOW_ALIGNMENT > 1

Quick assessment

Affected
python-pillow Pillow
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Pillow 是一个 Python 图像处理库。在 11.2.1 至 13.0.0 版本之间,Arrow 导出功能错误地假设图像的行是紧密连续的,因此始终从 开始导出数据。然而,当 配置使得 包含行填充(row padding)或在第一行之前存在对齐偏移时,这种假设并不成立。由此生成的 Arrow 缓冲区可能包含未初始化的填充字节、第一行之前的字节,或来自先前已释放图像的旧堆内存内容。因此,任何配置了对齐设置并将图像导出为 Arrow 格式的应用程序,都可能将某个用户的像素数据或其他进程的内存泄露给其他用户。该问题

CVSS 6.3 · Medium
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-114501

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Pillow: Arrow export leaks stale heap memory when PILLOW_ALIGNMENT > 1
Source: CVE Program / CVE List V5
Vulnerability Description
Pillow is a Python imaging library. From 11.2.1 until 13.0.0, Arrow export assumes that an image's rows are tightly contiguous and exports from im->blocks[0].ptr even when PILLOW_ALIGNMENT makes aligned_linesize include row padding or an aligned offset before the first row. The resulting Arrow buffer can include uninitialized padding, bytes preceding the first row, or stale heap contents from previously freed images. Applications that configure alignment and export images to Arrow can therefore disclose one user's pixels or other process memory to another user. This issue is fixed in version 13.0.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
在释放前未清除敏感信息
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
python-pillow Pillow >= 11.2.1, < 13.0.0 -

II. Public POCs for CVE-2026-114501

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-114501

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-114501 (2)

Vendor Advisories for CVE-2026-114501 (1)

Vendor Pages for CVE-2026-114501 (1)

Same Patch Batch · python-pillow · 2026-10-21 · 11 CVEs total

CVE-2026-96639 9.8 CRITICAL Pillow multi-frame loaders can reuse stale native image storage after mode transitions
CVE-2026-96640 8.2 HIGH Pillow PDF append accepts malformed shared page-tree DAG causing resource exhaustion
CVE-2026-96778 7.7 HIGH Pillow: Heap buffer overflow writing JPEG comment after ICC profile fills buffer
CVE-2026-96642 7.1 HIGH Pillow: TarIO negative size field causes infinite CPU-spin loop
CVE-2026-96643 7.1 HIGH Pillow: PNG eXIf chunk makes EXIF parsing run in quadratic time
CVE-2026-96644 7.1 HIGH Pillow: Heap over-read in WMF/EMF rendering via 16-bit dimension truncation (Windows build
CVE-2026-96637 7.1 HIGH Pillow: Decompression bomb check bypass in SpiderImagePlugin.seek() leads to unbounded all
CVE-2026-96638 6.5 MEDIUM Pillow: BMP RLE decoder memory-amplification DoS via unbounded delta escape / absolute mod
CVE-2026-96641 6.5 MEDIUM Pillow: Reachable undefined behavior in native integer operations, potentially leading to
CVE-2026-96636 6.5 MEDIUM Pillow: Decompression-bomb protection bypass via multi-frame seek() in MPO and DCX (MpoIma

IV. Related Vulnerabilities

V. Comments for CVE-2026-114501

No comments yet


Leave a comment