安全研究

安全漏洞
Dnsmasq TFTP服务远程空指针引用漏洞

发布日期:2009-08-31
更新日期:2009-09-01

受影响系统:
Simon Kelley Dnsmasq 2.4x
不受影响系统:
Simon Kelley Dnsmasq 2.50
描述:
BUGTRAQ  ID: 36120
CVE ID: CVE-2009-2958

Dnsmasq是可方便配置的轻型DNS转发器和DHCP服务器。

dnsmasq在启用了TFTP服务的时候存在空指针引用漏洞,可能允许恶意的TFTP服务端导致dnsmasq服务崩溃。

漏洞的起因是以下循环中的第一个if:

/-----------

while ((opt = next(&p, end)))
{
   if (strcasecmp(opt, "blksize") == 0 &&
       (opt = next(&p, end)) &&
       !(daemon->options & OPT_TFTP_NOBLOCK))
     {
       transfer->blocksize = atoi(opt);
       if (transfer->blocksize < 1)
         transfer->blocksize = 1;
       if (transfer->blocksize > (unsigned)daemon->packet_buff_sz - 4)
          transfer->blocksize = (unsigned)daemon->packet_buff_sz - 4;
       transfer->opt_blocksize = 1;
       transfer->block = 0;
     }

  if (strcasecmp(opt, "tsize") == 0 && next(&p, end) &&
      !transfer->netascii)
     {
       transfer->opt_transize = 1;
       transfer->block = 0;
     }
         }

- -----------/

由于第一个if的guard包含有opt = next(&p, end)的结果,如果返回了NULL,guard就会失败,在下一个if 'strcasecmp(opt, "tsize")'中会引用空指针。

<*来源:Simon Kelley
  
  链接:http://marc.info/?l=full-disclosure&m=125175574625750&w=2
        http://secunia.com/advisories/36394/
        https://www.redhat.com/support/errata/RHSA-2009-1238.html
        http://security.gentoo.org/glsa/glsa-200909-19.xml
*>

建议:
厂商补丁:

RedHat
------
RedHat已经为此发布了一个安全公告(RHSA-2009:1238-01)以及相应补丁:
RHSA-2009:1238-01:Important: dnsmasq security update
链接:https://www.redhat.com/support/errata/RHSA-2009-1238.html

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200909-19)以及相应补丁:
GLSA-200909-19:Dnsmasq: Multiple vulnerabilities
链接:http://security.gentoo.org/glsa/glsa-200909-19.xml

所有Dnsmasq用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose =3Dnet-dns/dnsmasq-2.5.0

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

http://www.thekelleys.org.uk/dnsmasq/doc.html

浏览次数:2772
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障