EFingerD反向解析缓冲溢出漏洞 CVE-2002-0423 CNNVD-200208-180

10.0 AV AC AU C I A
发布: 2002-08-12
修订: 2008-09-05

EfingerD是一款免费的开放源代码的finger守护程序,使用在Linux操作系统下。 EfingerD在处理域信息中没有正确的处理,可导致缓冲溢出。 当主机连接到finger守护程序的时候,EfingerD默认从连接主机的IP地址中获取域信息并尝试进行解析,但是,如果主机名字超过100字节以上,就会发生缓冲溢出,可导致堆栈变量被覆盖,包括返回地址信息等,存在以efingerd的权利执行任意代码的可能。 问题存在于如下代码中: static char *lookup_addr (struct in_addr in) { static char addr[100]; struct hostent *he; if (resolve_addr) { he = gethostbyaddr ((char *)&in, sizeof(struct in_addr),AF_INET); if (he == NULL) strcpy(addr, inet_ntoa(in)); else strcpy(addr, he->h_name); } else strcpy (addr, inet_ntoa (in)); return addr; } 在处理strcpy函数中没有很好的进行边界检查。

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