Safari buffer overflow

Three weeks ago, I coded a nice little browser fuzzer, and started 
playing with various browsers: IE, Firefox, Safari, Chrome, Opera... 

I found an interesting Safari crash after couple of hours of fuzzing.
It was a stack overflow (and a smile on my face). Since then, every now
and then I took some time to play with it. 

Today, I noticed that Apple updated Safari 4.0.2 to 4.0.3.
Among some other vulnerabilities, this vulnerability has also been fixed. 
The Apple announcement is available at
http://lists.apple.com/archives/security-announce/2009/Aug/msg00002.html.

Depends on the perspective, but from my own - Very Bad Luck. Cest la vie, 
things like this happen... Some bugs die young.

This simple and interesting vulnerability is located in WebKits 
JavaScript code that parses floating point numbers. It can be triggered 
with script like this:

---------
<script>
var Overflow = "31337" + 0.313373133731337313373133731337...;
</script>
---------

Or something like this...

---------
<img width=0.3133731337313373133731337... src="31337.jpg">
---------

Play little bit with numbers to get a desirable return address, little 
bit of heap spraying, and it works. 


Regards,
Leon Juranic