Dnsmasq是一种广泛使用的轻量级网络应用工具,旨在为小型网络提供DNS(域名系统)转发器、DHCP(动态主机配置协议)服务器、路由器广告和网络引导服务。

Dnsmasq预装在各种设备和操作系统上,包括Ubuntu和Debian等Linux发行版、家庭路由器、智能手机和物联网(IoT)设备。对“Dnsmasq”的shodan扫描显示,全球约有110万个实例。

最近,谷歌的安全团队审查了Dnsmasq,发现了七个安全问题,包括与DNS相关的远程代码执行、信息泄露和可通过DNS或DHCP触发的拒绝服务(DoS)问题。

谷歌的安全团队在周一发布的一篇博客文章中写道:“在定期的内部安全评估过程中,我们发现了七个不同的问题(如下所列)”。“一旦我们确定了这些问题的严重性,我们就开始调查它们的影响和可利用性,然后为每一个问题提供内部概念证明。我们还与Dnsmasq的维护人员西蒙·凯利(Simon Kelley)合作,制作适当的补丁并缓解问题”。

由于Dnsmasq开发人员和维护人员西蒙·凯利(Simon Kelley)已经修补了这些漏洞,谷歌研究人员已经发布了每个漏洞的详细信息和概念验证(PoC)攻击代码。

在团队发现的七个漏洞中,有三个可被利用来执行远程代码执行,三个可用于拒绝服务攻击,以及一个信息泄漏漏洞。

以下是所有漏洞的列表:

  • CVE-2017-14491,Dnsmasq 2.76之前的版本中存在一个基于DNS的远程代码执行漏洞,该漏洞被标记为允许无限制堆溢出的最严重漏洞,影响直接暴露的和内部网络设置。
  • CVE-2017-14492,另一个由基于DHCP的堆溢出问题导致的远程代码执行漏洞。
  • CVE-2017-14493,另一个值得注意的基于DHCP的远程代码执行错误是由堆栈缓冲区溢出引起的。据谷歌称,如果该漏洞与下面提到的漏洞(CVE-2017-14494)一起使用,则该漏洞很容易被利用。
  • CVE-2017-14494,DHCP中的一种信息泄漏,可与CVE-2017-14493结合使用,使攻击者绕过ASLR安全机制,在目标系统上执行任意代码。
  • CVE-2017-14495,Dnsmasq中的一个漏洞,可通过DNS耗尽内存来利用该漏洞发起拒绝服务(DoS)攻击。只有使用以下选项之一时,该漏洞才会影响dnsmasq:--添加mac、--添加cpe id或--添加子网。
  • CVE-2017-14496,谷歌的安卓操作系统特别受到这个DoS问题的影响,本地黑客或直接与该设备相连的黑客可以利用这个问题。然而,谷歌指出,该服务本身是沙盒式的,因此降低了Android用户的风险。
  • CVE-2017-14497,另一个DoS问题是,大型DNS查询可能会导致软件崩溃。

因为所有的问题都已经通过发布DNSMASQ 2.78,建议Dnsmasq用户尽快更新其安装。

要修补设备,请确保升级系统上的软件包。谷歌已经更新了受影响的服务,并于2017年9月5日在10月份的安卓安全更新中向安卓合作伙伴发布了安全补丁。

其他受影响的谷歌服务也声称已更新。Kubernetes版本1.5.8、1.6.11、1.7.7和1.8.0也更新了补丁Dnsmasq。