CVE-2026-5121libarchive是一款广泛使用的归档库。CVE-2026-5121是一个高危漏洞,主要影响32位系统。该漏洞源于zisofs块指针分配逻辑中的整数溢出缺陷。攻击者可以通过诱导受害者解析特制的ISO9660镜像文件来触发此漏洞。成功利用该漏洞可导致堆缓冲区溢出,进而在目标系统上执行任意代码,无需用户交互,威胁严重。
该漏洞的核心在于libarchive处理zisofs(zipped ISO)文件格式时的内存分配计算错误。在32位系统环境下,当libarchive解析包含恶意数据的ISO9660镜像时,其用于计算zisofs块指针表大小的逻辑存在缺陷。具体而言,攻击者可以精心构造ISO镜像中的特定字段,使得计算块指针数量的整数运算发生溢出,导致malloc()分配的堆内存缓冲区远小于实际存储数据所需的大小。随后,当程序将块指针数据拷贝到该缓冲区时,由于缺乏足够的边界检查,数据会溢出缓冲区边界。这种堆缓冲区溢出允许攻击者覆盖相邻的堆元数据或关键内存结构,进而劫持程序执行流。由于CVSS向量显示无需用户交互且网络可达,该漏洞可被用于自动化攻击,实现远程代码执行。