影响系统: Michael Fuhr Net::DNS 0.59 不受影响系统: Michael Fuhr Net::DNS 0.60 描述: -------------------------------------------------------------------------------- BUGTRAQ ID: 24669 CVE(CAN) ID: CVE-2007-3377,CVE-2007-3409 Net::DNS是用Perl实现的DNS解析器。 Net::DNS实现上存在漏洞,远程攻击者可能利用此漏洞导致DNS服务器被欺骗或拒绝服务。 在Net::DNS中ID序列是在header.pm中确定的: { my $id = int rand(MAX_ID); sub nextid { return $id++ % (MAX_ID + 1); } } 如果使用了这个模块的话就会设置$id,然后仅是简单的递增,这可能导致两个后果: 1) 序列号可预测,简化了DNS欺骗攻击; 2) 如果在fork服务器中使用Net::DNS的话,则通常会在父进程使用。除非父进程在接受请求之间进行DNS查询,否则每个子进程都会以相同的$id值开始并经历相同的id序列。由于源端口也可能是固定的,因此一个子进程很可能接受之前子进程所发送查询的回复。 如果发送了自我引用的畸形DNS报文(如www.example.<pointer>中的指针再次指向www)的话,Net::DNS中的PP实现可能会陷入死循环。 <*来源:Steffen_Ullrich (Steffen_Ullrich@genua.de) Hjp
链接:http://rt.cpan.org/Public/Bug/Display.html?id=23961 http://rt.cpan.org/Public/Bug/Display.html?id=27285 *> 建议: -------------------------------------------------------------------------------- 厂商补丁: Michael Fuhr ------------ 目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载: http://www.net-dns.org/download/Net-DNS-0.60.tar.gz
|