CVE-2026-42309Pillow是一个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)并在目标系统上执行恶意代码或诱导应用处理恶意数据才能触发漏洞。