Two Vulnerabilities in Mozilla may lead to remote compromise
Two Vulnerabilities in Mozilla may lead to remote compromise.
=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=
----------------------
Vendor Information:
----------------------
Homepage : http://www.mozilla.org
Vendor : informed on 11/06/04
Mailed advisory: 13/06/04
Vender Response : None yet
----------------------
Affected Versions:
----------------------
All version of Mozilla and Firefox
----------------------
Description:
----------------------
There are two vulnerabilities in Mozilla that may lead to remote code execution
under local zone.
The first vulnerability affects firefox, and may affect mozilla as well. I have
only tested
firefox under windows 2000 and windows XP so I'm not sure if this issue exists
on other OS's.
The problem is that firefox stores its cache in a known directory, and some of
the cached html
is stored in known files. If a victim visits the attackers website which
includes malicious javascript
and then views the content of one of the cache files in local zone, the script
will get executed and
the attacker will be able to compromise the victim's system. This vulnerability
in mozilla can't be
abused as it is, but combined with a few other vulnerabilities the attacker
could execute malicious
code on the victim's computer without having the victim do anything except
visit his website (very
similar to the exploits in Internet Explorer).
The second vulnerability allows the attacker to modify the mime type by using
the infamous NULL byte.
Mozilla by default uses the file extention name to decide how to show a local
file. For example,
if a user requests file:///C:/blah.txt, Mozilla will show the contents of
blah.txt, but if the user
requests file:///C:/blah then Mozilla will pop up a window asking the user if
he/she wants to download
the file. By adding a NULL byte at the end of the filename, and the extention
that you want Mozilla
to handle right after the filename, you can make Mozilla open file:///C:/blah
as an html file.
Just like the vulnerability above, this can't be used alone to execute
malicious code, the attacker
needs to combine the above vulnerability with this one to succeed.
Since the known cache file names have no extention by default on windows, if
the attacker uses the NULL
byte bug, he/she can cause mozilla to show the contents of one of the cache
files as an html file,
and therefore cause mozilla to execute whatever scripts that exist in the cache
files.
----------------------
Exploit:
----------------------
The first vulnerability does not require an exploit.
On windows 2000, there are 3 cache files with known names. They are:
1. C:\Documents and Settings\Administrator\Application
Data\Mozilla\Firefox\Profiles\default.nop\Cache\_CACHE_001_
[ This cache file stores the http headers ]
2. C:\Documents and Settings\Administrator\Application
Data\Mozilla\Firefox\Profiles\default.nop\Cache\_CACHE_002_
3. C:\Documents and Settings\Administrator\Application
Data\Mozilla\Firefox\Profiles\default.nop\Cache\_CACHE_003_
[ These 2 cache files store the html data ]
If we combine both vulnerabilities shown above we get something like this:
file://C:\\Documents and Settings\\Administrator\\Application
Data\\Mozilla\\Firefox\\Profiles\\default.nop\\Cache\\_CACHE_002_%00.html
Mozilla will open this file without the %00.html, but it will treat it as an
html file and won't pop up a download window.
----------------------
Solution:
----------------------
Visit mozilla.org to check for updates.
----------------------
Contact:
----------------------
- Mindwarper
- mindwarper@xxxxxxxxxxxxxx
- http://mlsecurity.com