关于libarchive存在多个缓冲区溢出漏洞的安全公告

2016-06-28 17:50:51

安全公告编号:CNTA-2016-0028

近日,国家信息安全漏洞共享平台(CNVD)收录了libarchive存在的多个缓冲区溢出漏洞(CNVD-2016-04289、CNVD-2016-04303、CNVD-2016-04306),对应(CVE-2016-4300、CVE-2016-4301、 CVE-2016-4302)。远程攻击者利用漏洞借助特制的文件利用可导致拒绝服务(内存破坏),或执行任意代码。

一、漏洞情况分析

Libarchive是一个开源压缩库,Libarchive广泛应用于Debian Linux、FreeBSD和诸多文件压缩工具。本次披露的多个漏洞风险点如下:

(1)libarchive\archive_read_support_format_7zip.c文件的中numUnpackStreams函数赋值范围不当,Libarchive在处理7-Zip文件时可发生整数溢出;

(2)archive_read_support_format_mtree.c文件的parse_device函数处理不当,Libarchive在处理Mtree文件可发生缓冲区溢出;

(3)libarchive未正确处理dictionary_size=0的rar文件时,可导致堆溢出漏洞。

攻击者利用漏洞可构造特制的7-Zip(Mtree/RAR)文件,当使用Libarchive库相关软件处理上述软件时可造成内存溢出以及恶意代码执行。 CNVD对上述漏洞的综合评级均为“高危”。

二、漏洞影响范围

漏洞发现者测试使用的3.1.2;02.12.2015 Platform : x86/x64版本均存在上述漏洞。Libarchive支持多种文件压缩软件,应用于各种包管理器、文件浏览器,也应用在Debian Linux、FreeBSD等产品中,因此上述系统及应用均有可能受漏洞影响。

三、漏洞修复建议

目前,厂商已发布了漏洞修复程序,在v3.2.1版本中修复了上述漏洞。CNVD建议研发人员及时将最新版(v3.2.1)部署到所涉及的应用中,建议用户及时更新到最新版本,避免引发漏洞相关的网络安全事件。

https://github.com/libarchive/libarchive/commit/139d0576b51a253732a5ab1f66805dffbf8b00af

附:参考链接:

http://www.talosintel.com/reports/TALOS-2016-0152

http://www.talosintel.com/reports/TALOS-2016-0153

http://www.talosintel.com/reports/TALOS-2016-0154

http://www.cnvd.org.cn/flaw/show/CNVD-2016-04289

http://www.cnvd.org.cn/flaw/show/CNVD-2016-04303

http://www.cnvd.org.cn/flaw/show/CNVD-2016-04306