exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

Firefox Denial Of Service

Firefox Denial Of Service
Posted May 29, 2009
Authored by Thierry Zoller

Mozilla Firefox 3.x suffers from a remote denial of service vulnerability.

tags | exploit, remote, denial of service
SHA-256 | 3dc1b9655716e15b6e5baacdba75bde317977a3227906edce4971b5f07d58c57

Firefox Denial Of Service

Change Mirror Download
________________________________________________________________________

From the very-low-hanging-fruit-department
Firefox Denial of Service (KEYGEN)
________________________________________________________________________


Release mode: Forced release.
Ref : [TZO-27-2009] - Firefox Denial of Service (KEYGEN)
WWW : http://blog.zoller.lu/2009/04/advisory-firefox-denial-of-service.html
Vendor : http://www.firefox.com
Status : No patch
CVE : none provided
Credit : none
Bugzilla entry: https://bugzilla.mozilla.org/show_bug.cgi?id=469565

Security notification reaction rating : There wasn't any appropriate reaction.
Notification to patch window : x+n

Disclosure Policy : http://blog.zoller.lu/2008/09/notification-and-disclosure-policy.html

Affected products :
- Firefox 3.0.10 (Windows)
- Likely : All Firefox versions supporting the KEYGEN tag.

I. Background
~~~~~~~~~~~~~
Firefox is a popular Internet browser from the Mozilla Corporation. In 2007 the
Mozilla Corporation had a revenue of over 75 million dollars [1], out of
which 68 million where made with a search advertising deal, in other words with
the search box in Firefox that defaults to Google.

I envy the spirit of everyone that works on Firefox code in their spare time,
for free.

II. Description
~~~~~~~~~~~~~~~
This bug is a simple design bug that results in an endless loop (and interesting
memory leaks).

Once upon a time Netscape thought it would be a great idea to add the keygen tag
(<keygen>) as a feature to their Browser. The keygen tag offers a simple way
of automatically generating key material using various algorithms. For instance
it is possible to generate RSA, DSA and EC key material.

"The public key and challenge string are DER encoded as PublicKeyAndChallenge and
then digitally signed with the private key to produce a SignedPublicKeyAndChallenge.
The SignedPublicKeyAndChallenge is base64 encoded, and the ASCII data is finally
submitted to the server as the value of a name-value pair, where the name is
specified by the NAME attribute of the KEYGEN tag."

More information: https://developer.mozilla.org/En/HTML/HTML_Extensions/KEYGEN_Tag

This feature includes the automatic submission of the public part to a script,
the crux. The Keygen tag reloads the document by submitting the public key as an argument
to the current URI. Combining this with a javascript body onload() call
(or meta refresh) results in an neat endless loop blocking access to the UI.

Furthermore memory is leaked during the process.

III. Impact
~~~~~~~~~~~
The browser doesn't respond any longer to any user input, tabs are no
longer accessible, your work if any might be lost. Restarting the
Firefox process and restoring the previous Firefox session will
re-spawn the tab and start the loop again.

According to a Bugzilla entry memory is also leaked during the process.

So let's recap, we have a function that generates key material and looping
causes memory to leak. One might think this should be important enough
to investigate, especially if you know that for DSA for instance, only
a few bits of k can reveal an entire private key. [3]

Note: I am not saying the memory leaks include key material, seeing the lack
of interest this bugzilla ticket triggered, I have not considered investigating
further. What I am saying is that if security is taken seriously
memory leaks that directly or indirectly happen during key generation
need to be investigated thoroughly.


IV. Proof of concept (hold your breath)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<html>
<body onLoad="document.forms[0].submit()">
<FORM>
<KEYGEN NAME="somekey" CHALLENGE="1125983021">
<INPUT TYPE="submit" NAME="SubmitButton" VALUE="Done">
</FORM>
</html>

Live : http://secdev.zoller.lu/ff_dos_keygen.html


IV. Disclosure timeline
~~~~~~~~~~~~~~~~~~~~~~~~~
DD/MM/YYYY
14/12/2008 : Created bugzilla entry (security) with (the wrong) proof of concept
file.

14/12/2008 : Attached the correct POC file (mea culpa) and a stack trace and details
of memory corruption that repeatedly occurred during testing the POC

24/12/2008 : dveditz@mozilla.com comments : "I can definitely confirm the denial
of service aspect, and there's a very minor memory leak (after 9
hours of CPU time memory use went from 60MB to 360MB). Haven't been
able to reproduce a crash."

27/05/2009 : The 4 month grace period [2] given is reached. Release of this advisory.


[1] http://www.mozilla.org/foundation/documents/mf-2007-audited-financial-statement.pdf
http://www.guidestar.org/FinDocuments//2007/200/097/2007-200097189-047bbaa9-9.pdf
[2] http://blog.zoller.lu/2008/09/notification-and-disclosure-policy.html
[3] http://rdist.root.org/?s=dsa
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
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 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