CVE-2026-43908OpenImageIO是一个广泛应用于VFX和动画行业的图像处理工具集。在3.0.18.0和3.1.13.0版本之前,该软件存在一个高危安全漏洞。该漏洞源于`ConvertCbYCrYToRGB()`函数中的像素循环索引表达式`i * 3`发生了有符号32位整数溢出。此计算错误导致函数生成了一个指向输出缓冲区的巨大负偏移量,进而引发越界写入操作,最终导致进程崩溃。攻击者可通过诱导用户打开特制的恶意图像文件来触发该漏洞。
该漏洞的技术核心在于OpenImageIO库中`ConvertCbYCrYToRGB()`函数的缺陷。在处理特定格式的图像数据时,代码使用一个有符号32位整数作为循环索引,并通过`i * 3`计算内存偏移量。当输入的图像尺寸或数据量被精心构造,使得索引`i`超过`INT_MAX / 3`时,乘法运算的结果会发生溢出,回绕为一个巨大的负数。随后的指针操作会利用这个负数偏移量,导致向缓冲区起始地址之前的内存区域写入数据。这种越界写入不仅会导致拒绝服务(崩溃),在特定环境下还可能覆盖返回地址或关键函数指针,从而实现远程代码执行。攻击需要用户交互,通常通过钓鱼邮件分发恶意图像文件。