what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

ECMAScript Denial Of Service

ECMAScript Denial Of Service
Posted Jul 17, 2009
Authored by Thierry Zoller

ECMAScript in IE5, IE6, IE7, IE8, Netscape, Firefox, Safari, Opera, Konqueror, Seamonkey, Wii, PS3, iPhone, iPod, Nokia, Siemens and various other browsers allows for a denial of service condition.

tags | exploit, denial of service
systems | apple, iphone
advisories | CVE-2009-1692
SHA-256 | 0565fa347a433f911f7bc37200f43fcc3f38e665338086d0cdaaf81a0163b693

ECMAScript Denial Of Service

Change Mirror Download
________________________________________________________________________

One bug to rule them all
IE5,IE6,IE7,IE8,Netscape,Firefox,Safari,Opera,Konqueror,
Seamonkey,Wii,PS3,iPhone,iPod,Nokia,Siemens.... and more.
Don't wet your pants - it's DoS only
________________________________________________________________________

Release mode: Tried hard to coordinate - gave up
Reference : [GSEC-TZO-26-2009] - One bug to rule them all
WWW : http://www.g-sec.lu/one-bug-to-rule-them-all.html
Vendors :
http://www.firefox.com
http://www.apple.com
http://www.opera.com
http://www.sony.com
http://www.nintendo.com
http://www.nokia.com
http://www.siemens.com
others..
Status : Varies
CVE : CVE-2009-1692 (created by apple same root cause)
Credit : Except Apple - nobody

Affected products :
~~~~~~~~~~~~~~~~~~~
- Internet Explorer 5, 6, 7, 8 (all versions)
- Chrome (limited)
- Opera
- Seamonkey
- Midbrowser
- Netscape 6 & 8 (9 years ago)
- Konqueror (all versions)
- Apple iPhone + iPod
- Apple Safari
- Thunderbird
- Nokia Phones : Nokia N95 (Symbian OS v.9.2),Nokia N82, Nokia N810 Internet Tablet
- Aigo P8860 (Browser hangs and cannot be restarted)
- Siemens phones
- Google T-Mobile G1 TC4-RC30
- Ubuntu (Operating system sometimes reboots, memory management failure)
- possibly more devices and products that support Javascript,
try it yourselves. POC here : http://www.crashthisthing.com/select.html

Patch availability :
~~~~~~~~~~~~~~~~~~~~
- Mozilla : Fixed in Firefox 3.0.5 and 2.0.0.19
https://bugzilla.mozilla.org/show_bug.cgi?id=460713
- Apple iPhone&iPod : patched
- IE : No patch for IE5, IE6, IE7, IE8 until IE9
- Webkit : Patched in r41741 - https://bugs.webkit.org/show_bug.cgi?id=23319
- Chrome : Patched, unknown which version)
- Opera : Patched after version 9.64
- Thunderbird (unknown)
- Konqueror : unknown (did not respond)
- Nokia : unknown, opened a case but never came back
- Aigo P8860 : unknown
- Siemens : unknown
- Others ? Find out by visiting the POC at
http://crashthisthing.com/select.html


I. Background
~~~~~~~~~~~~~
Quoting Wikipedia "ECMAScript is a scripting language, standardized by Ecma
International in the ECMA-262 specification and ISO/IEC 16262. The language
is widely used on the web, especially in the form of its three best-known
dialects, JavaScript, ActionScript, and JScript."


II. Description
~~~~~~~~~~~~~~~
Calling the select() method with a large integer, results in continuos
allocation of x+n bytes of memory exhausting memory after a while.
The impact varies from null pointer dereference (no more memory,hence
crashing the browser) to the reboot of the complete Operation System
(Konqueror&Ubuntu)

There had never been a limit specified as to how many html elements the select
call should handle, after the report of this Bug, vendors apparently agreed to a
limit of 10.000 elements : "Talked to some Apple and Opera guys at the
WHATWG social, and we decided this was a good number"

III. Impact
~~~~~~~~~~~
The Impact varies from Browser to Browser and from OS to OS.

Here is a small excerpt:
- Konqueror (Ubuntu)- allocates 2GB of memory then either crashes
the Browser or (most often) the OS reboots. Ubuntu's memory
management system appears to be configured as to NOT stop the process
that consumes too much memory, but a random process.
This sometimes leads to processes that are vital for the OS to
be killed, hence the reboot. I am not kidding. Thanks to
'FX' for Memory management hint.

- Chrome : allocates 2GB of memory then crashes tab with a null pointer

- Firefox : allocates 2GB of memory then the Browser crashes

- IE5,6,7,8 : allocates 2GB of memory then the Browser crashes

- Opera : Allocated and commits as much memory as available,
will not crash but other applications will become unstable

- Nintento WII (Opera) : Console hangs, needs hard reset
Video: http://vimeo.com/2937101 (Thanks to David Raison)

- Sony PS3 - Console hangs, needs hard reset
Video: http://vimeo.com/2937101 (Thanks to Chris Gates)

- iPhone - iPhone hangs and needs hard reset
Video: http://vimeo.com/2873339 (Thanks to g0tcha)

- Aigo P8860 (Browser hangs and cannot be restarted)


IV. Proof of concept
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<script>
function poc(o) {
e = document.createElement("select");
e.length=2147483647;
}

function go() {
poc(0);
}
</script>

URL: http://www.crashthisthing.com/select.html

Some have not understood what this code does, it does NOT loop as some vendors
claimed, it just calls select.lenght() ONCE with a huge integer. One might wonder
if over the 9 last years that this bug existed, nobody ever entered a large
number in a select.lenght() call.

IV. Disclosure timeline
~~~~~~~~~~~~~~~~~~~~~~~~~
Nothing particular to note, except the usual discussion about availability being
a security issue.

V. Thanks
~~~~~~~~~~~~~~~~~~~~~~~~~
Chris Gates, David Raison, Fahem Adam, a team of engineers that recognise themselves
and oCert for not helping coordinate this bug.




Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    8 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    11 Files
  • 23
    Apr 23rd
    68 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close