Dnsmasq TFTP服务远程堆溢出漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

BUGTRAQ ID: 36121 CVE(CAN) ID: CVE-2009-2957 Dnsmasq是可方便配置的轻型DNS转发器和DHCP服务器。 dnsmasq在启用了TFTP服务(--enable-tftp命令行选项或在/etc/dnsmasq.conf中启用enable-tftp)的时候存在堆溢出漏洞。如果所配置的tftp-root足够长,且远程用户发送的请求中包含有超长的文件名,dnsmasq就可能崩溃或以dnsmasq服务的权限(通常为非特权的nobody用户)执行任意代码。 tftp_request对daemon->namebuff调用strncat,其预定义大小为MAXDNAME字节(默认1025)。 /----------- else if (filename[0] == '/') daemon->namebuff[0] = 0; strncat(daemon->namebuff, filename, MAXDNAME); - -----------/ 由于daemon->namebuff可能已经包含有数据,也就是通过配置文件传送给守护程序的daemon->tftp_prefix,因此这可能触发堆溢出。 /----------- if (daemon->tftp_prefix) { if (daemon->tftp_prefix[0] == '/') daemon->namebuff[0] = 0; strncat(daemon->namebuff, daemon->tftp_prefix, MAXDNAME) - -----------/ 默认的前缀是/var/tftpd,但如果使用了更长的前缀,就可能执行任意代码。 Simon Kelley Dnsmasq 2.4x 厂商补丁: RedHat ------ RedHat已经为此发布了一个安全公告(RHSA-2009:1238-01)以及相应补丁: RHSA-2009:1238-01:Important: dnsmasq security update 链接:https://www.redhat.com/support/errata/RHSA-2009-1238.html Simon Kelley ------------...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息