CVE-2026-32740libheif是HEIF和AVIF文件格式的解码器和编码器。在1.21.2及更早版本中,存在堆缓冲区溢出漏洞。该漏洞位于网格图块合成功能中,攻击者可诱导用户打开特制的HEIF/AVIF文件,利用包含奇数高度图块的1x4网格,在解码时向堆分配区域末尾写入64字节受控数据,从而可能造成远程代码执行或系统崩溃。
该漏洞根因在于libheif处理网格图块合成时的内存管理逻辑缺陷。当应用程序解析特制的HEIF/AVIF文件时,若文件包含一个由奇数高度图块组成的1x4网格,解码器在计算色度平面的内存对齐和写入长度时会发生错误。具体利用方式是攻击者精心构造文件的网格结构,使得在合成图块过程中,程序试图将当前图块的色度数据拷贝到堆分配的缓冲区之外。由于溢出的64字节数据直接来源于攻击者控制的图块像素值,攻击者完全掌握溢出内容。这种堆缓冲区溢出允许覆盖堆管理结构或相邻对象的关键指针。结合堆喷射等技术,攻击者可将程序流劫持至恶意Shellcode,从而在受害主机上实现任意代码执行,权限通常继承自运行libheif的应用程序。