IPBUF安全漏洞报告
English
CVE-2026-42309 CVSS 5.5 中危

CVE-2026-42309 Pillow堆缓冲区溢出漏洞

披露日期: 2026-05-09

漏洞信息

漏洞编号
CVE-2026-42309
漏洞类型
堆缓冲区溢出
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Pillow

相关标签

堆缓冲区溢出PillowPythonDoSCVE-2026-42309

漏洞概述

Pillow是一个Python图像处理库。在11.2.1至12.2.0之前的版本中,当向ImagePath.Path、ImageDraw.ImageDraw.polygon等API传递嵌套列表作为坐标时,由于嵌套列表被递归解包超出了分配的缓冲区,可能导致堆缓冲区溢出。该漏洞主要影响可用性,已在12.2.0版本中修复。

技术细节

该漏洞源于Pillow库在处理坐标输入时的验证逻辑缺失。受影响的API(如ImagePath.Path、ImageDraw.ImageDraw.polygon和ImageDraw.ImageDraw.line)预期接收包含数值坐标的列表。然而,在版本11.2.1至12.2.0之间,代码未正确验证输入列表的结构。当攻击者传递嵌套的列表结构作为坐标参数时,底层的C代码会尝试递归解包这些列表,从而写入超出预分配堆缓冲区的内存。这种越界写入(Heap Buffer Overflow)可能导致应用程序崩溃(拒绝服务)。由于攻击向量为本地(AV:L),攻击者需具备低权限(PR:L)并在目标系统上执行恶意代码或诱导应用处理恶意数据才能触发漏洞。

攻击链分析

STEP 1
发现
攻击者确认目标系统使用了存在漏洞的Pillow版本(11.2.1 <= version < 12.2.0)。
STEP 2
构造
攻击者编写Python脚本,构造包含深层嵌套列表的恶意坐标数据,而非标准的平面坐标列表。
STEP 3
执行
攻击者在本地环境(AV:L)运行脚本,调用ImageDraw.polygon等API并传入恶意嵌套列表。
STEP 4
溢出
Pillow库在解析坐标时递归解包嵌套列表,导致写入超出堆缓冲区边界的数据。
STEP 5
影响
触发内存破坏,导致应用程序崩溃(拒绝服务),可能造成数据丢失或服务中断。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-42309 Pillow Heap Buffer Overflow # This script attempts to trigger the vulnerability by passing nested lists to drawing functions. from PIL import Image, ImageDraw # Create a blank image img = Image.new('RGB', (100, 100), 'white') draw = ImageDraw.Draw(img) # Vulnerability: Passing nested lists instead of flat coordinate tuples # The library attempts to recursively unpack these, leading to heap overflow. malicious_coords = [[[[[10, 10]]]]] # Deeply nested list try: print("Attempting to trigger vulnerability via ImageDraw.polygon...") # This should cause a crash or undefined behavior in vulnerable versions draw.polygon(malicious_coords, fill='red') print("Execution completed (System might be patched).") except Exception as e: print(f"Exception caught: {e}")

影响范围

Pillow >= 11.2.1, < 12.2.0

防御指南

临时缓解措施
如果无法立即升级,应限制对受影响应用程序的本地访问权限,并严格过滤传递给Pillow绘图函数的输入参数,确保坐标列表不包含嵌套结构,仅包含数值型数据。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表