漏洞预警:CVE-2017-15908 sytemd漏洞导致Linux DoS

ang010ela 漏洞 2017年11月28日发布
Favorite收藏

导语:最近出现的systemd漏洞可以导致许多Linux版本处于威胁中,具体来说是DNS resolver的缺陷导致相应受影响的系统收到DoS攻击。

最近出现的systemd漏洞可以导致许多Linux版本处于威胁中,具体来说是DNS resolver的缺陷导致相应受影响的系统收到DoS攻击。

存在该漏洞的系统发送DNS请求到攻击者控制的DNS服务器,将可以利用该漏洞。DNS服务器会返回伪造的查询,引起systemd进入无限循环,导致CPU利用率达到100%。漏洞编号 CVE-2017-15908

对该漏洞最有效的修复方法是修复systemd的底层漏洞。该漏洞的补丁陆续发布,如今年10月Ubuntu发布修复补丁。目前,还没有针对该漏洞的在野攻击。

漏洞分析

DNS不断被赋予新的功能,有的是增加的新功能,有的则让它更安全。RFC4034中向DNSSEC(DNS Security Extensions)增加了新的资源记录——NSEC (Next Secure)记录。漏洞发生在处理NSEC位图文件中代表伪类型(pseudo-types)的位的时候。下图是无限循环和栈结构源码。dns_packet_read_type_window()的实现在文件resolved-dns-packet.c中。

图1 无限循环和栈结构源码

当记录类型为DNS_TYPE_NSEC时,上面的函数 dns_packet_read_type_window() 会从dns_packet_read_rr()处调用。下图为resolved-dns-packet.c文件中的dns_packet_read_rr()函数代码。

图2 读取DNS包的源码

PoC

为了验证该漏洞,作者创建了一个DNS服务器,该服务器可以发送伪造的恶意响应。该响应消息含有NSEC记录,该记录是专门触发该漏洞的:

图3 捕获的伪造的DNS reply包

一旦systemd被用于DNS解析,就会收到这种特殊的DNS包,同时CPU利用率会变成100%,如图所示:

图4 CPU利用率

解决办法

针对该漏洞的补丁已经发布了,建议用户尽早更新补丁。同时应该检查DNS响应中是否含有RFC4034中定义的资源类型。监控DNS响应流量,检测DNS RR中是否含有DNS和RFC4034中定义的资源类型。如果附件位图含有伪类型(pseudo-types),那么应该进行拦截。

本文翻译自:http://blog.trendmicro.com/trendlabs-security-intelligence/systemd-vulnerability-leads-to-denial-of-service-on-linux/ ,如若转载,请注明原文地址: http://www.4hou.com/vulnerable/8783.html
点赞 0
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论