Lucene search

K
seebugRootSSV:14986
HistoryNov 27, 2009 - 12:00 a.m.

ISC BIND 9 DNSSEC查询响应远程缓存中毒漏洞

2009-11-2700:00:00
Root
www.seebug.org
124

0.013 Low

EPSS

Percentile

84.3%

BUGTRAQ ID: 37118
CVE(CAN) ID: CVE-2009-4022

BIND是一个应用非常广泛的DNS协议的实现,由ISC负责维护,具体的开发由Nominum公司完成。

启用了DNSSEC验证的名称服务器在解析递归客户端查询期间可能错误的从所接收到响应的附加部分向其缓存添加记录,这是一种缓存中毒的情况。

DNS缓存中毒指的是更改了DNS服务器的DNS缓存中某项,这样缓存中与主机名相关的IP地址就不再指向正确的位置。例如,如果www.example.com映射到IP地址192.168.0.1且DNS服务器的缓存中存在这个映射,则成功向这个服务器的DNS缓存投毒的攻击者就可以将www.example.com映射到10.0.0.1。在这种情况下,试图访问www.example.com的用户就可能与错误的Web服务器联络。

仅在处理禁用了检查(CD)的客户端查询同时请求DNSSEC记录(DO)的情况下才会出现上述行为。

ISC BIND 9.6.x
ISC BIND 9.5.x
ISC BIND 9.4.x
ISC BIND 9.3.x
ISC BIND 9.2.x
ISC BIND 9.1.x
ISC BIND 9.0.x
临时解决方法:

  • 在named.conf中通过allow-recursion选项限制递归。
  • 禁用DNSSEC验证。

厂商补丁:

ISC

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

ftp://ftp.isc.org/isc/bind9/9.5.2-P1/bind-9.5.2-P1.tar.gz
ftp://ftp.isc.org/isc/bind9/9.4.3-P4/bind-9.4.3-P4.tar.gz
ftp://ftp.isc.org/isc/bind9/9.6.1-P2/bind-9.6.1-P2.tar.gz