CVE-2025-14369CVE-2025-14369是dr_libs工具集中dr_flac音频解码器存在的一个整数溢出漏洞。该漏洞由于在计算缓冲区大小之前过度信任FLAC元数据中的totalPCMFrameCount字段而引发。攻击者可以构造一个包含恶意totalPCMFrameCount值的FLAC音频文件,当目标程序解析该文件时,会触发整数溢出导致缓冲区分配过大或过小,最终造成拒绝服务(DoS)攻击。此漏洞需要本地访问和用户交互才能利用,攻击复杂度较低,无需认证即可实施攻击。CVSS评分5.5,属于中等严重程度,主要影响可用性。dr_libs是一个流行的开源音频解码库,被广泛应用于多种嵌入式系统和桌面应用程序中。
dr_flac音频解码器在处理FLAC文件时,会从元数据中读取totalPCMFrameCount字段用于预分配音频数据缓冲区。漏洞根源在于程序直接信任该字段值而未进行充分验证。当totalPCMFrameCount被设置为一个极大值时,在计算所需缓冲区大小(通常为 totalPCMFrameCount × 通道数 × 样本字节数)时会发生整数溢出,导致分配一个远小于实际需要的缓冲区。随后在写入音频数据时,会发生缓冲区溢出,可能导致程序崩溃或内存损坏。攻击者只需诱骗用户打开一个特制的FLAC文件即可触发漏洞。由于攻击向量为本地(AV:L)且需要用户交互(UI:R),但无需认证(PR:N),因此在实际场景中需要结合社会工程学手段诱使用户打开恶意文件。修复方案应在计算缓冲区大小前对totalPCMFrameCount进行有效性验证,并使用安全的整数运算方法防止溢出。