Info-ZIP UnZip inflate_dynamic 函数堆破坏漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2008-03-21
Info-ZIP UnZip inflate_dynamic 函数堆破坏漏洞 受影响系统:
Info-ZIP UnZip 5.52

描述:
unzip是在Unix下对.zip文件格式进行解压的工具。

unzip的实现上存在漏洞,安全者可能利用此漏洞通过诱使用户处理恶意文档提升权限。

unzip的inflate.c文件978行的inflate_dynamic()例程在出现错误时使用NEEDBITS()宏将执行流跳转到cleanup例程,而该例程试图free()两个在解压过程中所分配的缓冲区。某些位置在指针没有指向有效缓冲区的情况下便使用了NEEDBITS()宏,包括缓冲区未初始化或指向已经释放的块中。这两种情况都允许安全者控制指针或指针所指向的缓冲区,导致执行任意指令。

厂商补丁:
RedHat已经为此发布了一个安全公告(RHSA-2008:0196-01)以及相应补丁:
RHSA-2008:0196-01:Moderate: unzip security update
链接:https://www.redhat.com/support/errata/RHSA-2008-0196.html