CVE-2026-39886OpenEXR 3.4.0至3.4.9版本在HTJ2K解压缩路径中存在有符号整数溢出漏洞。攻击者可利用特制的EXR文件触发`ht_undo_impl()`函数中的`bpl`累加器溢出。若系统内存允许大额分配,将导致堆越界写入,造成拒绝服务或潜在代码执行。此前修复未覆盖该累加器,现已通过3.4.10版本进行修复。
漏洞位于`src/lib/OpenEXRCore/internal_ht.cpp`文件的`ht_undo_impl()`函数中。该函数使用32位有符号整数`bpl`累加每行字节数,缺乏溢出保护。当处理包含16,385个FLOAT通道且宽度为32,767像素的恶意EXR文件时,`bpl`值将超过`INT_MAX`(2,147,483,647)。计算过程中,`bpl`溢出变为负值。在内存宽松的主机上,约64GB的内存分配若成功,负的`bpl`值将作为指针步进值,导致指针回退并引发堆越界写入。该问题有别于CVE-2026-34545,后者修复的是同一函数中的像素计数器,而未涉及`bpl`累加器。该漏洞结构类似于CVE-2026-34588。