irc2 SERVER命令参数远程缓冲区溢出漏洞
发布日期:2003-02-07
更新日期:2003-02-12
受影响系统:Dalnet ircd 4.4.5
Dalnet ircd 4.4.10
irc2 irc2 2.8.21
不受影响系统:Dalnet ircd 4.6.7
Dalnet ircd 4.6.5
Dalnet ircd 4.4.11
描述:
BUGTRAQ ID:
6804
irc2是一款流行的IRC服务程序。
由于对服务器端'SERVER'命令的参数缺少正确边界缓冲区检查,远程攻击者可以利用这个漏洞进行缓冲区溢出攻击,可能以IRC进程权限在系统上执行任意指令。
攻击者提供超长的字符串作为'SERVER'命令的参数,可触发基于堆栈的缓冲区溢出,导致产生拒绝服务或以IRCD权限在系统上执行任意指令。
<*来源:Andy Church (
achurch@dragonfire.net)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=87602558319195&w=2
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* Andy Church <
achurch@dragonfire.net>提供如下第三方补丁:
--- src/s_serv.c.old Sun Dec 8 21:06:55 1996
+++ src/s_serv.c Tue Jul 1 00:42:16 1997
@@ -282,15 +282,17 @@
{
hop = atoi(parv[2]);
(void)strncpy(info, parv[3], REALLEN);
+ info[REALLEN] = 0;
}
else if (parc > 2)
{
- (void)strncpy(info, parv[2], REALLEN);
+ (void)strncpy(info, parv[2], REALLEN-2);
+ info[REALLEN-2] = 0;
if (parc > 3)
{
- i = strlen(info);
- (void)strncat(info, " ", REALLEN - i - 1);
- (void)strncat(info, parv[3], REALLEN - i - 2);
+ (void)strcat(info, " ");
+ (void)strncat(info, parv[3], REALLEN-strlen(info));
+ info[REALLEN] = 0;
}
}
/*
厂商补丁:
Dalnet
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://bahamut.dal.net/浏览次数:2785
严重程度:0(网友投票)