受影响系统: Info-ZIP UnZip 5.52(Unix系统下广泛使用的解压软件)
漏洞描述: UnZip作为Unix系统上常用的解压工具,此次曝出的安全漏洞位于其inflate.c文件的第978行,由inflate_dynamic()函数引发。当该函数检测到错误时,会通过NEEDBITS()宏将执行流程跳转至cleanup例程——该例程会尝试释放两个在解压过程中分配的缓冲区。问题在于,某些代码路径在指针尚未指向有效缓冲区的情况下就调用了NEEDBITS()宏。具体而言,有两种场景:一是缓冲区尚未初始化,二是指针已指向已被释放的内存块。这两种情况均可能被攻击者利用——他们可通过控制指针本身或指针所指向的缓冲区内容,实现任意指令执行。简而言之,一旦用户被诱导解压精心构造的恶意ZIP文件,攻击者即可利用该漏洞实现权限提升,存在远程代码执行风险。
厂商补丁: RedHat已发布安全公告(RHSA-2008:0196-01)及相应补丁,详情请访问:https://www.redhat.com/support/errata/RHSA-2008-0196.html。建议受影响用户尽快下载并安装补丁,以防范潜在安全威胁。
