关于GNU Wget存在缓冲区溢出漏洞的安全公告

2017-11-13 16:02:10

安全公告编号:CNTA-2017-0076

近期,国家信息安全漏洞共享平台(CNVD)收录了GNU Wget的两个缓冲区溢出漏洞(CVE-2017-13089、CVE-2017-13090)。使用存在漏洞的Wget可能受到恶意HTTP响应攻击,导致拒绝服务和恶意代码执行。漏洞细节和利用代码已公开,近期被不法分子利用出现大规模攻击尝试的可能性较大。

一、漏洞情况分析

2017年10月26日,GNU Wget发布了1.19.2之前版本的缓冲区溢出漏洞公告,使用存在漏洞的Wget可能受到恶意HTTP响应攻击,导致拒绝服务和恶意代码执行,相关漏洞信息如下:

CNVD-2017-32886对应CVE-2017-13089:漏洞在src/http.c源码文件中,Wget在一些调用http.c:skip_short_body() 函数情况下,块解析器使用strtol() 读取每个响应分块的长度,但不检查块长度是否非负,而在Wget调用过程中该数据内容和长度可被攻击者完全控制,导致fd_read()函数中发栈缓冲区溢出。

CNVD-2017-32885对应CVE-2017-13090:漏洞在src/retr.c源码文件中,Wget在一些调用retr.c:fd_read_body()函数情况下,块解析器使用strtol() 读取每个响应分块的长度,但不检查块长度是否非负,而在Wget调用过程中该数据内容和长度可被攻击者完全控制,导致fd_read()函数触发堆缓冲区溢出。

CNVD对上述漏洞的综合评级为“高危”。

二、漏洞影响范围

漏洞影响1.19.2之前版本。由于Wget是Unix/linux发行版的基本组件,因此几乎所有发行版或封装调用Wget的应用都受影响,包括一些主流的Linux发行版:Red Hat、Debian、Ubuntu、SUSE、Gentoo、CentOS、FreeBSD、Oracle Linux、Amazon Linux AMI等默认带有Wget的Linux发行版本,请参考各发行版受影响范围:
Red Hat Enterprise Linux 7
https://access.redhat.com/security/cve/CVE-2017-13089
https://access.redhat.com/security/cve/CVE-2017-13090
SUSE(SUSE Linux Enterprise Server/openSUSE)
https://www.suse.com/security/cve/CVE-2017-13089/
https://www.suse.com/security/cve/CVE-2017-13090/
Debian
https://security-tracker.debian.org/tracker/CVE-2017-13089
https://security-tracker.debian.org/tracker/CVE-2017-13090
Found in versions Wget/1.16-1, Wget/1.19.1-5 
Fixed in versions 1.16-1+deb8u4, 1.18-5+deb9u1, Wget/1.19.2-1
Ubuntu
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-13089.html
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-13090.html
https://usn.ubuntu.com/usn/usn-3464-1/
https://usn.ubuntu.com/usn/usn-3464-2/
Ubuntu 17.10 Wget 1.19.1-3ubuntu1.1  
Ubuntu 17.04 Wget 1.18-2ubuntu1.1  
Ubuntu 16.04 LTS Wget 1.17.1-1ubuntu1.3  
Ubuntu 14.04 LTS Wget 1.15-1ubuntu1.14.04.3 
Ubuntu 12.04 LTS Wget 1.13.4-2ubuntu1.5
Gentoo
https://bugs.gentoo.org/show_bug.cgi?id=CVE-2017-13089
https://bugs.gentoo.org/show_bug.cgi?id=CVE-2017-13090
Oracle Linux version 7
https://linux.oracle.com/cve/CVE-2017-13089.html
https://linux.oracle.com/cve/CVE-2017-13090.html
Amazon Linux AMI
https://alas.aws.amazon.com/ALAS-2017-916.html
CentOS
https://lists.centos.org/pipermail/centos-announce/2017-October/022609.html
FreeBSD
https://reviews.freebsd.org/rP453520

三、漏洞修复建议

厂商已在最新发布的Wget 1.19.2版本中修复了上述漏洞,CNVD建议参照更新指南尽快升级。汇集各发行版安全公告列表参考:

https://security.archlinux.org/CVE-2017-13089

https://security.archlinux.org/CVE-2017-13090

临时解决方案:

Wget是Unix/linux上基本组件,建议使用Linux发行版的企业通过安全配置基线统一实施加固措施,如:限制Wget访问外部HTTP服务。

附:参考链接:

https://www.viestintavirasto.fi/en/cybersecurity/vulnerabilities/2017/haavoittuvuus-2017-037.html

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13089

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-13090

http://www.cnvd.org.cn/flaw/show/CNVD-2017-32886

http://www.cnvd.org.cn/flaw/show/CNVD-2017-32885