dnsmasq: 多个严重漏洞预警
2017-10-09 18:56

enter image description here

0x00 事件描述

dnsmasq作为一个轻量级的DNS和DHCP服务器,得益于它的简单易用,在中小企业环境和云平台中被广泛使用,包括libvirt等在内组件都会直接使用它作为支撑。

2017年10月2日, 由Google安全团队发现的多个 dnsmasq 安全漏洞被披露。

据悉,其中漏洞编号为 CVE-2017-14491, CVE-2017-14492, CVE-2017-14493 的三个漏洞被相关厂商标记为严重等级, 剩余编号为 CVE-2017-14494, CVE-2017-14495, CVE-2017-14496, CVE-2017-13704 的漏洞被标记为重要等级。

360CERT建议广大使用dnsmasq的用户尽快进行排查升级处理。

0x01 事件影响面

影响面

受影响的dnsmasq服务遭受远程任意代码执行攻击或远程拒绝服务攻击,造成主机被入侵或服务不可用,危害严重。

影响版本

CVE 等级 受影响版本 相关功能 问题点
CVE-2017-14491 严重 全版本 DNS 堆内存越界
CVE-2017-14492 严重 2.60 - 2.77 IPv6 RA 堆内存越界
CVE-2017-14493 严重 2.60 - 2.77 DHCPv6 栈内存越界
CVE-2017-14494 重要 2.60 - 2.77 DHCPv6 信息泄露
CVE-2017-14495 重要 2.76 EDNS0 内存耗尽
CVE-2017-14496 重要 2.76 EDNS0 段错误
CVE-2017-13704 重要 2.77 DNS 段错误

其中部分漏洞利用所需的环境非并非默认,需要单独配置的,具体如下:

CVE 所需配置选项
CVE-2017-14492 enable-ra slaac ra-only ra-names ra-advrouter ra-stateless
CVE-2017-14495 add-mac add-cpe-id add-subnet
CVE-2017-14496 add-mac add-cpe-id add-subnet

修复版本

Version 2.78

0x02 部分漏洞技术信息

CVE-2017-14491: 严重

CVE-2017-14491是这批漏洞列表中最严重的漏洞,且影响了dnsmasq大部分版本。攻击者需要一个可控的恶意域名(如,evil.com)和发送DNS请求到dnsmasq,从而让dnsmasq缓存下域名返回的请求。再通过精心构造的DNS请求和回复,会导致dnsmasq出现堆上的内存越界,该漏洞可能造成任意代码执行。

内存越界信息:

enter image description here

CVE-2017-14492 和 CVE-2017-14493: 严重

这2个漏洞均存在于IPv6/DHCPv6功能中,一个是堆越界,另一个是栈越界。两个漏洞都可能造成代码执行,其中CVE-2017-14493的代码执行风险可以被Gcc Stack Protector缓解。

实际环境里,这2个漏洞需要dnsmasq开启了DHCP且被绑定到IPv6接口的情况下才能被触发。此外,攻击者需要在本地网络中且需要一个主机的root权限来构造特定的 DHCPv6 或 IPv6 Router Advertisement消息来攻击。

需要注意的是 dnsmasq 在 2.60 版本之后才开始支持 DHCPv6 和 IPv6 Router Advertisement,所以此前的版本不受影响。  

CVE-2017-14494: 重要

该漏洞存在于DHCPv6功能实现中,可造成dnsmasq内存读取越界并通过DHCPv6返回包泄露给攻击者。

如前面漏洞所述的,该漏洞影响了版本2.60 到 2.77,在版本 2.78 中被修复。  

0x03 安全建议

1.相关Linux发行版已经提供了安全更新,请通过 yum 或 apt-get 的形式进行安全更新。

2.到官网下载最新版本构建安装

链接: http://www.thekelleys.org.uk/dnsmasq/doc.html

0x04 时间线

2017-10-02 事件披露

2017-10-09 360CERT发布预警通告

0x05 参考链接

1.dnsmasq: Multiple Critical and Important vulnerabilities

https://access.redhat.com/security/vulnerabilities/3199382

2.Behind the Masq: Yet more DNS, and DHCP, vulnerabilities

https://security.googleblog.com/2017/10/behind-masq-yet-more-dns-and-dhcp.html