首页 -> 安全研究

安全研究

安全漏洞
zkfingerd say()远程格式串溢出漏洞

发布日期:2002-12-16
更新日期:2002-12-23

受影响系统:
zkfingerd zkfingerd 0.9.1
描述:
BUGTRAQ  ID: 6404

zkfingerd是一款开放源代码的可替代标准finger的守护程序。

zkfingerd多个函数对用户输入缺少正确过滤,远程攻击者可以利用这些漏洞进行格式串溢出攻击,可能以zkfingerd进程的权限在系统上执行任意指令。

第一个格式字符串漏洞存在于log.c的putlog()函数中,其中使用了不安全的syslog()调用:

..
syslog(LOG_INFO, c);
..

通过finger一个使用格式字符串的用户名,可以导致产生格式字符串漏洞,如果攻击者指定的用户名包含"%n"等字符,可能以任意值覆盖内存地址而以zkfingerd进程在系统上执行任意指令。

第二个漏洞存在与say()函数中:

void
say(char *fmt, ...)
{
        va_list ap;


        va_start(ap, fmt);
        vprintf(fmt, ap);
        va_end(ap);


        printf("\r\n");
        fflush(stdout);


        return;
}

file_list()函数会调用say(),由于输入参数可被用户控制,所以提交包含恶意格式字符串的输入可导致可能以zkfingerd进程在系统上执行任意指令。

<*来源:NGSSoftware Insight Security Research (nisr@nextgenss.com
  
  链接:http://www.ngssoftware.com/advisories/zkfingerd.txt
*>

建议:
厂商补丁:

zkfingerd
---------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://sourceforge.net/projects/zkfingerd

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