CVE-2025-12840CVE-2025-12840是Academy Software Foundation OpenEXR中的一个高危安全漏洞,CVSS评分7.8。该漏洞是堆缓冲区溢出(Heap-based Buffer Overflow)类型,存在于OpenEXR的EXR图像文件解析模块中。攻击者可以通过构造恶意的EXR文件,在用户打开该文件时触发堆缓冲区溢出,从而在当前进程上下文中执行任意代码。OpenEXR是影视行业广泛使用的高动态范围(HDR)图像文件格式和开源库,被众多图形处理软件、3D渲染引擎和视频编辑工具所采用。由于该漏洞需要用户交互(打开恶意文件或访问包含恶意文件的网页),攻击门槛相对较高,但一旦成功利用,攻击者可完全控制受害系统。该漏洞由Trend Micro Zero Day Initiative(ZDI)发现并披露,编号为ZDI-CAN-27948。
该漏洞的根本原因在于OpenEXR在解析EXR文件时,对用户提供的文件数据长度缺乏正确的边界验证。当解析器读取EXR文件中的特定字段(如图像数据块、压缩参数或元数据)时,如果攻击者精心构造的数据长度超过了预期分配的堆缓冲区大小,memcpy或其他内存复制操作将导致堆缓冲区溢出。攻击者可以通过在EXR文件的header或data chunk中注入超长的数据字段,绕过长度检查直接将数据写入相邻的堆内存区域。这种溢出可以覆盖堆元数据、函数指针或其他关键数据结构,进而控制程序执行流程。在某些条件下,攻击者还可以利用堆喷射(heap spraying)技术来提高代码执行的可靠性。成功利用此漏洞需要目标用户打开攻击者精心制作的恶意EXR文件,可能通过钓鱼邮件、恶意网站下载或与其他软件漏洞结合的方式传播。