CVE-2026-32739libheif是常用的HEIF和AVIF文件格式编解码器。在1.21.2及更早版本中,存在一个安全漏洞。攻击者可构造一个特制的800字节HEIF序列文件,触发`Box_stts::get_sample_duration()`函数中的无限循环。这导致解析进程持续占用100% CPU资源且无法完成处理,从而造成拒绝服务。由于漏洞发生在文件解析阶段且不引发程序崩溃,常规监控难以发现。
该漏洞的根源在于libheif库在处理HEIF(高效图像文件格式)文件时,对媒体时间信息的解析逻辑存在缺陷。具体来说,漏洞点位于`Box_stts::get_sample_duration()`成员函数中。该函数负责解析“Time-to-Sample”盒子以确定样本持续时间,但在处理特定畸形数据结构时,缺少必要的循环终止条件和边界检查。攻击者可以构造一个大小仅为800字节的特制HEIF序列文件,该文件包含能够迷惑解析器的恶意索引数据。当易受攻击的应用程序(如使用libheif的图片查看器或转换工具)尝试打开或解析此文件时,解析器会陷入无限循环。由于循环发生在文件解析的早期阶段,且不涉及内存破坏,因此进程通常会保持运行状态而不崩溃,这导致传统的基于崩溃监控的安全防御体系失效。