安全研究
安全漏洞
BNC远程缓冲区溢出漏洞
发布日期:2004-11-10
更新日期:2004-11-11
受影响系统:BNC BNC 2.8.9
描述:
CVE(CAN) ID:
CVE-2004-1052
BNC是一款IRC代理服务程序。
BNC在处理IRC服务器应答时存在缓冲区溢出问题,远程攻击者可以利用这个漏洞可能以BNC进程权限在系统上执行任意指令。
问题存在于getnickuserhost()函数中:
----------------
int getnickuserhost(char **argv,char *buf,char *fix)
{
int p,c;
c=0;
argv[0]=buf;
for(p=0;buf[p];p++)
{
if(buf[p] == '!')
{
buf[p]='\0';
fix[c++]='!';
argv[1]=&buf[p+1];
}
if(buf[p] == '@')
{
buf[p]='\0';
fix[c++]='@';
argv[2]=&buf[p+1];
}
}
return c;
}
----------------
'buf'指向512+1字节静态缓冲区来包含服务器应答,然后'fix'指向3字节栈缓冲区,如果 '!'或'@'字符包含在服务器应答中,它就写入到'fix'中,不过由于程序对'!'或'@'字符的限制不充分,可造成缓冲区溢出,精心构建提交数据可能以BNC进程权限在系统上执行任意指令。
<*来源:Leon Juranic (
ljuranic@LSS.hr)
链接:
http://security.lss.hr/en/index.php?page=details&ID=LSS-2004-11-03
*>
建议:
厂商补丁:
BNC
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载bnc2.9.1版本:
http://www.gotbnc.com/files/bnc2.9.1.tar.gz浏览次数:2550
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载 绿盟科技给您安全的保障 |