CVE-2025-10921CVE-2025-10921是GIMP图像处理软件中的一个高危安全漏洞,存在于HDR(High Dynamic Range)高动态范围图像文件的解析过程中。该漏洞为基于堆的缓冲区溢出(Heap-based Buffer Overflow)漏洞,CVSS评分达到7.8分(高危级别)。攻击者可以通过构造恶意的HDR文件,利用GIMP打开该文件时触发的缓冲区溢出条件,从而在当前进程上下文中执行任意代码。由于该漏洞需要用户交互才能触发(用户必须打开恶意文件或访问包含恶意文件的网页),因此被归类为本地攻击向量(AV:L)。此漏洞由Trend Micro Zero Day Initiative(ZDI)发现并披露,编号为ZDI-CAN-27803。漏洞的根源在于GIMP在解析HDR文件时,对用户提供的图像数据长度缺乏充分的验证,导致攻击者可利用超长数据覆盖堆内存中的相邻区域,进而实现代码执行。
该漏洞的根本原因在于GIMP的HDR文件解析模块存在边界验证缺陷。当GIMP处理HDR格式图像文件时,解析函数会读取文件头和图像数据块。在数据复制操作中,程序未能正确校验用户提供的长度值与目标缓冲区实际容量的匹配关系,导致可以通过精心构造的HDR文件触发堆缓冲区溢出。具体来说,攻击者可以在HDR文件的特定字段中嵌入超长的字符串数据,当GIMP的解析代码将该数据复制到固定大小的堆缓冲区时,超出部分会覆盖堆内存中的其他关键数据结构,包括函数指针、对象虚表或堆元数据等。攻击者通过精心布局溢出数据,可以劫持程序控制流,最终实现任意代码执行。该漏洞影响的是GIMP依赖的GEGL(Generic Graphics Library)库中的图像解码组件。修复方案需要在数据复制前增加严格的长度校验,确保目标缓冲区能够容纳待写入的数据。相关修复已通过GitLab提交(commit 0e68b7471dabf2800d780819c19bd5e6462f565f)发布。