muh 进行IRC记录时存在格式化串漏洞

2008-04-09 04:32:12来源:互联网 阅读 ()

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

muh 进行IRC记录时存在格式化串漏洞

发布日期:2000-09-12
更新日期:2000-09-12

受影响系统:

Sebastian Kienzl muh 2.05d
描述:

muh可以作为一个irc客户端和服务器之间的一个代理。如果客户端中断连结,muh会记录
客户信息。

2.05(也许包括更早的版本)存在多个格式化串漏洞,如果客户端重放一条被记录的特
殊的消息,可能导致muh崩溃或者去执行任意代码。


<* 来源:Maxime Henrion (mux@qualys.com) *>



测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


发送一个恶意的格式化串给一个登录muh的用户,当该用户使用/muh命令读取日志记录时,
格式化字符串将被解释。



建议:

临时解决方法:

NSFOCUS建议您暂时停止muh的日志记录功能。

厂商补丁:

muh的开发商已经得知这个问题,将会尽快发布一个补丁程序:
http://mind.riot.org/muh/

Kris Kennaway <kris@FreeBSD.org>提供了一个补丁程序:

--- src/muh.c.orig Sun Mar 19 04:08:27 2000
src/muh.c Sat Sep 9 21:32:15 2000
@@ -575,7 575,7 @@
if( strcmp( param2 2, "USERINFO\1" ) == 0 )
irc_notice( &c_server, nick, USERINFOREPLY );
if( strncmp( param2 2, "PING", 4 ) == 0 ) {
- if( strlen( param2 1 ) > 6 ) irc_notice( &c_server, nick, param2 1 );
if( strlen( param2 1 ) > 6 ) irc_notice( &c_server, nick, "%s", param2 1 );
}
if( strcmp( param2 2, "CLIENTINFO\1" ) == 0 )
irc_notice( &c_server, nick, CLIENTINFOREPLY );
@@ -591,7 591,7 @@
}
else { /* normale message/notice */
if( !is_ignore( hostname, IGNORE_MESSAGE ) && status.allowreply ) {
- if( cfg.awaynotice ) irc_notice( &c_server, nick, cfg.awaynotice );
if( cfg.awaynotice ) irc_notice( &c_server, nick, "%s", cfg.awaynotice );
add_ignore( hostname, 120, IGNORE_MESSAGE );
status.allowreply = 0;
timers.reply = 0;
@@ -841,7 841,7 @@
s = ( char * )malloc( 1024 );
while( fgets( s, 1023, messagelog ) ) {
if( s[ strlen( s ) - 1 ] == '\n' ) s[ strlen( s ) - 1 ] = 0;
- irc_notice( &c_client, status.nickname, s );
irc_notice( &c_client, status.nickname, "%s", s );
}
FREESTRING( s );


标签:

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

上一篇:IMP 允许攻击者非法获取系统文件

下一篇:Mailman 1.1 远程执行命令漏洞