CVE-2026-34743XZ Utils是一款广泛使用的数据压缩库及命令行工具。在5.8.3版本之前,该组件存在一个安全漏洞。当使用lzma_index_decoder()函数解码一个不包含任何记录的Index时,生成的lzma_index对象会处于一种异常状态。如果随后调用lzma_index_append()函数,由于内存分配不足,会导致缓冲区溢出。攻击者可利用此漏洞造成拒绝服务或潜在的代码执行。该问题已在5.8.3版本中修复。
该漏洞源于XZ Utils库中lzma_index_decoder函数的逻辑缺陷。当解码器处理一个不包含记录的Index时,未能正确初始化或更新内部状态变量,导致lzma_index结构体中的大小计数器与实际分配的内存不匹配。随后,若代码调用lzma_index_append()向该索引添加新记录,函数会基于错误的计数器计算所需内存,导致分配过小的缓冲区。在写入数据时,程序会越过缓冲区边界,引发堆溢出。由于攻击向量(AV:N)和网络可达性,攻击者可以通过特制的压缩文件触发此漏洞。这种内存损坏可能导致应用程序崩溃(拒绝服务),在特定条件下,攻击者可能利用此溢出覆盖关键数据结构或返回地址,从而实现任意代码执行,对系统安全构成严重威胁。