CVE-2025-66628ImageMagick是一款功能强大的开源图像处理软件套件,用于创建、编辑、组合或转换位图图像。该软件被广泛应用于各种系统和Web服务中。2025年12月披露的CVE-2025-66628漏洞存在于ImageMagick的TIM(PSX TIM)图像格式解析器中,攻击者可以通过构造恶意TIM图像文件触发整数溢出,导致堆缓冲区溢出和内存越界读取。由于该软件通常作为Web服务的后端组件处理用户上传的图像,攻击者可以通过上传恶意图像文件实现远程攻击,无需任何认证或用户交互。此漏洞影响ImageMagick 7.1.2-9及之前版本,CVSS评分7.5,属于高危漏洞。
漏洞根源位于ImageMagick源代码文件coders/tim.c的ReadTIMImage函数中。该函数从TIM图像文件头读取宽度和高度字段(均为16位无符号整数,最大值为65535),随后计算图像缓冲区大小:image_size = 2 * width * height。在32位系统或size_t为32位的环境中,当width和height均为较大值时(如65535),计算结果2 * 65535 * 65535 = 8589580800,远超32位整型最大值4294967295,发生整数溢出后得到一个很小的值。程序随后使用AcquireQuantumMemory分配一个远小于实际需要的堆内存缓冲区。当后续代码按照原始未溢出的width和height值进行图像数据读写操作时,会发生堆缓冲区越界访问,可能导致敏感内存信息泄露。攻击者只需诱导目标系统处理一个精心构造的TIM文件即可触发此漏洞。