安全研究

安全漏洞
FreeBSD libarchive畸形文档处理拒绝服务及缓冲区溢出漏洞

发布日期:2007-07-12
更新日期:2007-07-17

受影响系统:
FreeBSD FreeBSD 6.2
FreeBSD FreeBSD 6.1
FreeBSD FreeBSD 5.5
描述:
BUGTRAQ  ID: 24885
CVE(CAN) ID: CVE-2007-3641,CVE-2007-3644,CVE-2007-3645

FreeBSD就是一种运行在Intel平台上、可以自由使用的开放源码Unix类系统。

FreeBSD的libarchive库在处理畸形格式的TAR及PAX文件时存在漏洞,攻击者可能利用此漏洞通过诱使用户处理恶意文档控制用户系统。

FreeBSD中所捆绑的libarchive库提供灵活的接口用于读写tar和cpio之类的流文档文件,该库中用于解析tar和pax交换格式的代码中存在几个漏洞。如果pax扩展头中文档过早结束或pax扩展头中出现某种破坏的话,就会陷入死循环;如果pax扩展头后的tar头中文档过早结束的话,或如果pax扩展头中出现某种类型的破坏的话,就会引用空指针;如果pax扩展头中出现了某种破坏的话,错误的计算缓冲区长度会导致缓冲区溢出。

如果攻击者能够导致libarchive解析所选择的畸形文档,包括对文档运行tar -x(解压)或tar -t(列出项)命令,就会导致libarchive陷入死循环、出现core dump,或执行攻击者所提供的任意指令。

<*来源:Tim Kientzle
        Colin Percival
  
  链接:http://secunia.com/advisories/26062/
        http://secunia.com/advisories/26050/
        ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-07:05.libarchive.asc
*>

建议:
临时解决方法:

* 不要读取不可信任来源的tar或pax扩展文档。

厂商补丁:

FreeBSD
-------
FreeBSD已经为此发布了一个安全公告(FreeBSD-SA-07:05)以及相应补丁:
FreeBSD-SA-07:05:Errors handling corrupt tar files in libarchive(3)
链接:ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-07:05.libarchive.asc

补丁下载:

执行以下步骤之一:

1) 将有漏洞的系统升级到5-STABLE或6-STABLE,或修改日期之后的RELENG_6_2、RELENG_6_1或RELENG_5_5安全版本。

2) 为当前系统打补丁:

以下补丁确认可应用于FreeBSD 5.5、6.1和6.2系统。

a) 从以下位置下载相关补丁,并使用PGP工具验证附带的PGP签名。

# fetch http://security.FreeBSD.org/patches/SA-07:05/libarchive.patch
# fetch http://security.FreeBSD.org/patches/SA-07:05/libarchive.patch.asc

b) 以root执行以下命令:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/libarchive
# make obj && make depend && make && make install
# cd /usr/src/rescue
# make obj && make depend && make && make install

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