djbdns超长响应报文远程缓存中毒漏洞
发布日期:2009-02-27
更新日期:2009-03-06
受影响系统:D. J. Bernstein djbdns 1.05
描述:
BUGTRAQ ID:
33937
djbdns是一个由Qmail的作者所设计的轻量级DNS server。
djbdns的response.c文件负责处理名称压缩。该文件12行对name_ptr数组有each < 16384的标注,但response_addname()没有强制这个限制。如果用户向报文中编码的名称中第一个后缀大于或等于16384字节的话,response_addname()就会错误的编码到名称的偏移,生成畸形的响应报文。这种响应报文会给查询用户误导性信息,有助于攻击者执行中间人等网络欺骗攻击。
<*来源:Matthew Dempsky
链接:
http://secunia.com/advisories/33855/
http://marc.info/?l=bugtraq&m=123575331312817&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
# Download and build ucspi-tcp-0.88.
$ curl -O
http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
$ tar -zxf ucspi-tcp-0.88.tar.gz
$ echo 'gcc -include /usr/include/errno.h -O' > ucspi-tcp-0.88/conf-cc
$ make -C ucspi-tcp-0.88
# Download and build djbdns-1.05.
$ curl -O
http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
$ tar -zxf djbdns-1.05.tar.gz
$ echo 'gcc -include /usr/include/errno.h -O' > djbdns-1.05/conf-cc
$ make -C djbdns-1.05
# Use tcpclient and axfr-get to do a zone transfer for
# burlap.dempsky.org from shinobi.dempsky.org.
$ ./ucspi-tcp-0.88/tcpclient shinobi.dempsky.org 53 \
./djbdns-1.05/axfr-get burlap.dempsky.org data data.tmp
# Use tinydns-data to compile data into data.cdb.
$ ./djbdns-1.05/tinydns-data
# Simulate an A query for www.x.burlap.dempsky.org using the data
# from the zone transfer.
$ ./djbdns-1.05/tinydns-get a www.x.burlap.dempsky.org
建议:
厂商补丁:
D. J. Bernstein
---------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.your.org/dnscache/djbdns-1.05-with-patches.tar.gz浏览次数:2473
严重程度:0(网友投票)