|
Message-ID: <CANO7a6wiLObZ0-mXj5X_KL1GRnXW92i4DTN15g1iS_FVObjqbQ@mail.gmail.com> Date: Sat, 30 Jun 2012 14:23:47 +0530 From: Dhiru Kholia <dhiru.kholia@...il.com> To: john-dev@...ts.openwall.com Subject: asan report Hi, So far, I have found out that asan doesn't work with the following formats: Target : linux-x86-64-clang-debug $ clang --version clang version 3.1 (branches/release_31) Target: x86_64-unknown-linux-gnu Thread model: posix 1. xsha Benchmarking: Mac OS X 10.4 - 10.6 salted SHA-1 [128/128 SSE2 intrinsics 8x]... ================================================================= ==28010== ERROR: AddressSanitizer global-buffer-overflow on address 0x0000006b0240 at pc 0x4da4f4 bp 0x7fff9f71ff10 sp 0x7fff9f71ff08 READ of size 4 at 0x0000006b0240 thread T0 #0 0x4da4f4 in set_key /home/dsk/magnum-jumbo/src/XSHA_fmt_plug.c:304 0x0000006b0240 is located 0 bytes inside of global variable '.str12 (formats.c)' (0x6b0240) of size 1 '.str12 (formats.c)' is ascii string '' while((temp = *wkey++) & 0xff) { <== problematic code if (!(temp & 0xff00)) { *keybuf_word = JOHNSWAP((temp & 0xff) | (0x80 << 8)); len++; goto key_cleaning; } 2. trip Benchmarking: Tripcode DES [128/128 BS SSE2-16]... ================================================================= ==28647== ERROR: AddressSanitizer global-buffer-overflow on address 0x0000006b0240 at pc 0x4414c9 bp 0x7fff45bf30c0 sp 0x7fff45bf30b8 READ of size 8 at 0x0000006b0240 thread T0 #0 0x4414c9 in set_key /home/dsk/magnum-jumbo/src/trip_fmt.c:547 0x0000006b0240 is located 0 bytes inside of global variable '.str12 (formats.c)' (0x6b0240) of size 1 '.str12 (formats.c)' is ascii string '' static void set_key(char *key, int index) { memcpy(buffer[index].key, key, PLAINTEXT_LENGTH); } This code doesn't seem to check key's length. 3. BSDI (reported in another thread) 4. dynamic format (reported in another thread) 5. sapb Benchmarking: SAP CODVN B (BCODE) [128/128 SSE2 intrinsics 20x]... ================================================================= ==29216== ERROR: AddressSanitizer global-buffer-overflow on address 0x0000006779e0 at pc 0x4d514f bp 0x7fff67fff8a0 sp 0x7fff67fff898 READ of size 8 at 0x0000006779e0 thread T0 #0 0x4d514f in set_key /home/dsk/magnum-jumbo/src/sapB_fmt_plug.c:191 0x0000006779e0 is located 0 bytes inside of global variable '.str6 (sapB_fmt_plug.c)' (0x6779e0) of size 2 '.str6 (sapB_fmt_plug.c)' is ascii string 'X' static void set_key(char *key, int index) { memcpy(saved_plain[index], key, PLAINTEXT_LENGTH); keyLen[index] = -1; } 6. sapg Benchmarking: SAP CODVN F/G (PASSCODE) [128/128 SSE2 intrinsics 8x]... ================================================================= ==29453== ERROR: AddressSanitizer global-buffer-overflow on address 0x0000006b0292 at pc 0x4ef363 bp 0x7fff69397f50 sp 0x7fff69397f48 READ of size 1 at 0x0000006b0292 thread T0 #0 0x4ef363 in set_key /home/dsk/magnum-jumbo/src/sapG_fmt_plug.c:205 0x0000006b0292 is located 14 bytes to the right of global variable '.str13 (formats.c)' (0x6b0280) of size 4 '.str13 (formats.c)' is ascii string 'des' static void set_key(char *key, int index) { memcpy((char*)saved_plain[index], key, PLAINTEXT_LENGTH); keyLen[index] = -1; } 7. salted-sha1 Benchmarking: Salted SHA-1 [128/128 SSE2 intrinsics 8x]... ================================================================= ==29737== ERROR: AddressSanitizer global-buffer-overflow on address 0x000000683844 at pc 0x4f2c5e bp 0x7ffff61eb420 sp 0x7ffff61eb418 READ of size 4 at 0x000000683844 thread T0 #0 0x4f2c5e in set_key /home/dsk/magnum-jumbo/src/salted_sha1_fmt_plug.c:163 0x000000683844 is located 4 bytes inside of global variable '.str6 (salted_sha1_fmt_plug.c)' (0x683840) of size 7 '.str6 (salted_sha1_fmt_plug.c)' is ascii string 'thales' while((temp = *wkey++) & 0xff) { <== have seen such a loop mutiple times now :-) if (!(temp & 0xff00)) { *keybuf_word = JOHNSWAP((temp & 0xff) | (0x80 << 8)); len++; goto key_cleaning; } 8. raw-sha1-ng Benchmarking: Raw SHA-1 (pwlen <= 15) [128/128 SSE2 intrinsics 4x]... ================================================================= ==30079== ERROR: AddressSanitizer global-buffer-overflow on address 0x0000006a9020 at pc 0x537f2e bp 0x7fff53cb89e0 sp 0x7fff53cb89d8 READ of size 16 at 0x0000006a9020 thread T0 #0 0x537f2e in sha1_fmt_set_key /home/dsk/magnum-jumbo/src/rawSHA1_ng_fmt.c:363 9. raw-sha1-linkedin Benchmarking: Raw SHA-1 LinkedIn [128/128 SSE2 intrinsics 8x]... ================================================================= ==30895== ERROR: AddressSanitizer global-buffer-overflow on address 0x000000696d8c at pc 0x5100f4 bp 0x7fff9d8f92e0 sp 0x7fff9d8f92d8 READ of size 4 at 0x000000696d8c thread T0 #0 0x5100f4 in rawsha1_set_key /home/dsk/magnum-jumbo/src/rawSHA1_linkedIn_fmt_plug.c:141 while((unsigned char)(temp = *wkey++)) { if (!(temp & 0xff00)) { *keybuf_word = JOHNSWAP((temp & 0xff) | (0x80 << 8)); len++; goto key_cleaning; } 10. Other formats which don't work with asan are raw-sha1, raw-md5, raw-md4, oracle11, nsldap, netntlm, netlm, nethalflm, mysql-sha1, hmac-md5, hmac-sha1, and ipb2 Lets start fixing these formats. -- Cheers, Dhiru
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.