CVE-2025-10920CVE-2025-10920是GIMP(GNU图像处理程序)中一个高危安全漏洞,CVSS评分达到7.8分。该漏洞存在于GIMP对ICNS(Apple Icon Image Format)文件格式的解析过程中,由于缺乏对用户提供的ICNS文件数据的正确验证,导致程序在解析时发生越界写入操作。这种越界写入可以覆盖相邻内存区域,攻击者利用精心构造的恶意ICNS文件,能够在当前进程的上下文中执行任意代码。由于该漏洞需要用户交互才能触发,攻击者需要诱骗目标用户打开恶意ICNS文件或访问包含恶意ICNS文件的网页。一旦用户打开恶意文件,GIMP在解析ICNS文件时会触发越界写入,攻击者即可获得与GIMP进程相同的执行权限,从而执行任意命令、安装恶意软件或窃取敏感数据。该漏洞由趋势科技ZDI(Zero Day Initiative)发现并披露,编号为ZDI-CAN-27684。GIMP作为一款广泛使用的开源图像编辑软件,在全球拥有大量用户,该漏洞的潜在影响范围较广。
该漏洞的核心问题在于GIMP在解析ICNS文件格式时的缓冲区边界检查不足。ICNS文件格式是Apple macOS系统中使用的图标图像格式,其结构包含多个不同大小和类型的图标数据块(icon entries)。在解析过程中,GIMP的ICNS解析器需要读取文件头中的数据块大小信息,然后分配相应的缓冲区来存储数据。然而,由于缺少对数据块大小与实际分配的缓冲区容量之间的边界验证,当ICNS文件中声明的数据块大小超过预期缓冲区大小时,解析器会执行写入操作,导致数据被写入到分配缓冲区之外的内存区域。这种越界写入(Out-of-Bounds Write)可以覆盖相邻的堆内存或栈内存内容,攻击者通过精心构造ICNS文件中的数据块大小和内容,可以控制被覆盖的内存区域,从而劫持程序执行流,触发任意代码执行。整个漏洞利用过程无需特殊权限,但需要目标用户打开恶意文件,属于典型的本地攻击向量但结合社会工程的攻击模式。