• 我的位置:
  • 首页
  • -
  • 漏洞预警
  • -
  • 中间件
  • -
  • DNSmasq DNSpooq缓存中毒漏洞通告
    • CNNVD编号:未知
    • 危害等级: 高危 
    • CVE编号:CVE-2020-25686/25684/25685
    • 漏洞类型: 用户不需认证
    • 威胁类型:远程
    • 厂       商:未知
    • 漏洞来源:深信服
    • 发布时间:2021-01-26
    • 更新时间:2021-01-26

    漏洞简介

    1、组件介绍

    DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。主要用于在本地使用的域名配置。可能受漏洞影响的资产位于中国最多,中国(不含港澳台地区)省份中,辽宁、江苏、山东、广东、浙江等省市接近 70%。

    2、漏洞描述

    近日,深信服安全团队监测DNSmasq组件的DNSpooq漏洞的Poc被公开。漏洞编号:CVE-2020-25686、CVE-2020-25684、CVE-2020-25685,漏洞等级:高危。该漏洞是由于使用了弱散列来标识DNS请求以及请求与响应匹配不严格,导致处理CNAME记录时允许欺骗CNAME记录链,攻击者可利用该漏洞,构造恶意数据执行DNS缓存中毒攻击,导致破坏DNS查询功能。

    漏洞公示

    1、DNSpooq缓存中毒漏洞

    DNSmasq通过一个32bit的随机序列确认DNS请求的有效性,但是由于使用了弱散列识别DNS请求,并且采用了松散的请求和响应的匹配,实际上只需猜测19位随机序列,便可导致缓存中毒。DNSmasq处理CNAME记录的方式使得攻击者可以欺骗CNMAE记录链并同时使9个DNS记录受影响。对不使用DNSmasq的缓存功能的设备,该漏洞的影响较小但不能完全免疫。

    2、PoC分析

    Patch函数对DNS frame的第36-43个字节进行了替换,根据DNS标准可知,这些字节标识的是:目的端口,DNS ID,校验和,可知是用于确保数据包是合法的DNS包。

    然后对DNSmasq进行了150次DNS查询,查询的是一个合法的域名,用于将cache填满。然后伪造从cache 服务器发出的DNS包,连续发送两个恶意的DNSRR,前者查询后者的CNAME,后者查询恶意的IP,并将这个数据包序列化为字节流。


    后面计算了一个查询的次数,值为id区间(1,65536)和源端口区间(1025,65536)的笛卡尔积,即4227858432次。每次发送一个经过patch的DNS数据包。当这个包返回了带有DNS资源记录数据时,则DNS缓存中毒攻击成功。

    参考网站

    暂无

    受影响实体

    目前受影响的DNSmasq版本:DNSmasq<2.83

    补丁

    1、官方修复建议

    当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:

    http://www.thekelleys.org.uk/dnsmasq/

    2、深信服解决方案

    深信服安全运营服务】深信服云端安全专家提供7*24小时持续的安全运营服务。对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。

    深信服安全云眼】在漏洞爆发之初,已完成检测更新,对所有用户网站探测,保障用户安全。不清楚自身业务是否存在漏洞的用户,可注册信服云眼账号,获取30天免费安全体验。

    注册地址:http://saas.sangfor.com.cn

    深信服云镜】在漏洞爆发第一时间即完成检测能力的发布,部署了云镜的用户可以通过升级来快速检测网络中是否受该高危风险影响,避免被攻击者利用。离线使用云镜的用户需要下载离线更新包来获得漏洞检测能力,可以连接云端升级的用户可自动获得漏洞检测能力。