大RRSIG资源记录集合与否定缓存导致named崩溃

 

当用户查询带有大资源记录集合的域名,配置为递归服务器的BIND 9 DNS服务器进行否定缓存时会引发安全漏洞。此漏洞会导致BIND 9 DNS 服务器 (named 进程) 崩溃。

 

CVE: CVE-2011-1910

CERT: VU#795694

文件版本:1.3

发布时间:2011-05-26

影响软件:BIND

受影响版本:9.4-ESV-R3及之后版本,9.6-ESV-R2及之后版本,9.6.39.7.1及之后版本,9.8.0及之后版本。

严重级别:

可攻击方式:远程

描述

DNS系统使用否定缓存来降低DNS响应时间。否定缓存使DNS递归服务器不必频繁查询不存在的域名。所有NXDOMAIN或NODATA/NOERROR的应答都可以放入否定缓存。

权威数据是与否定缓存信息一起进行缓存的。权威应答中的SOA和 NSEC/NSEC3 记录表明所查询的域名/类型不存在。在DNSSEC中,所有记录都是经过签名的;因此,应答权威部分的每个记录对每个DNSKEY都会有一个RRSIG 记录。

此漏洞生效时,否定应答中的很大的RRSIG 资源记录集合会引起断言错误,导致named (BIND 9 DNS) 崩溃。这种错误是由缓冲区大小检查的大小差一的错误引起的。

此漏洞的本质为远程攻击提供了可能。攻击者可以建立一个DNSSEC 签名的权威DNS服务器,区域中的大RRSIG 资源记录集合可以引发漏洞的生效。攻击者通过一定的途径向一个组织的递归服务器发出查询,查询的域名是恶意权威服务器应答的不存在的域名,就可以导致漏洞的生效。攻击者需要能够访问一个组织的递归服务器,访问方式可以是直接查询(开放的递归服务器),或者通过恶意软件(使用BOTNET来查询否定缓存), 或者通过其它途径触发DNS解析(垃圾邮件可以在电子邮件中包含域名,导致邮件接收方进行查询)。

没有开启DNSSEC的递归服务器同样会受到此漏洞的影响。

 

CVSS 评级:  Base 7.8

(AV:N/AC:L/Au:N/C:N/I:N/A:C/E:P/RL:O/RC:C/TD:L)

要获取更多有关漏洞评分系统的信息,并获取你所在运行环境的评分,可以访问:http://nvd.nist.gov/cvss.cfm?calculator&adv&version=2

 

(软件版本升级的)替代方法

DNS递归服务器的访问限制可以部分缓解漏洞的威胁。但如果合法的用户被恶意软件或垃圾邮件/间谍软件所利用来发送查询,同样可以引发漏洞。

 

主动利用

此问题可以导致意外中断。

 

解决方案

升级到: 9.4-ESV-R4-P1, 9.6-ESV-R4-P1, 9.7.3-P1 或 9.8.0-P2 或修正错误的最新软件版本。

在BIND软件下载主页获取最新版本: http://www.isc.org/downloads/all

注意: 测试确认9.6.2-P3不受影响。

 

原文链接请参考:http://www.isc.org/software/bind/advisories/cve-2011-1910