sredird LogMsg()格式串及HandleCPCCommand()缓…

2008-04-10 03:03:24来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

sredird LogMsg()格式串及HandleCPCCommand()缓冲区溢出漏洞

发布日期:2004-08-24
更新日期:2004-08-25

受影响系统:
sredird sredird 2.2.1
描述:
BUGTRAQ ID: 11031

sredird是一款端口重定向服务程序。

sredird存在格式串问题和缓冲区溢出漏洞,远程攻击者可以利用这个漏洞以进程权限在系统上执行任意指令。

Max Vozeler报告在'sredird.c'文件中的LogMsg()函数里存在格式串问题,用户提供的数据没有任何处理直接传递给LogMsg()函数。精心构建提交数据可以破坏堆信息,可能以进程权限在系统上执行任意指令。

另外HandleCPCCommand()函数中的LogStr在处理sprintf()输出时没有进行正确边界检查,超长数据可触发基于堆栈的缓冲区溢出。

<*来源:Max Vozeler (max@hinterhof.net)

链接:http://www.securitytracker.com/alerts/2004/Aug/1011038.html
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* Max Vozeler <max@hinterhof.net>提供如下第三方补丁:

--- sredird.c.orig 2004-05-01 21:45:49.000000000 0200
sredird.c 2004-05-01 21:46:05.000000000 0200
@@ -460,7 460,7 @@
void LogMsg(int LogLevel, const char * const Msg)
{
if (LogLevel <= MaxLogLevel)
- syslog(LogLevel,Msg);
syslog(LogLevel,"%s",Msg);
}

/* Try to lock the file given in LockFile as pid LockPid using the classical

--- sredird.c.orig 2004-05-01 22:09:28.000000000 0200
sredird.c 2004-05-01 22:10:10.000000000 0200
@@ -1390,7 1390,7 @@
{
/* Received client signature */
strncpy(SigStr,(char *) &Command[4],CSize - 6);
- sprintf(LogStr,"Received client signature: %s",SigStr);
snprintf(LogStr,sizeof(LogStr)-1,"Received client signature: %s",SigStr);
LogMsg(LOG_INFO,LogStr);
}
break;

厂商补丁:

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

http://www.ibiblio.org/pub/Linux/system/serial/

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:suPHP任意命令执行漏洞

下一篇:Netscape NSS库远程缓冲区溢出漏洞