[Opera 7] Arbitrary File Delete Vulnerability
----------------------------------------------------------------------
TITLE : [Opera 7] Arbitrary File Delete Vulnerability
-= How Dare You Delete My Important Files? =-
PRODUCT : Opera 7 for Windows
VERSIONS : 7.22 build 3221 (JP:build 3222)
7.21 build 3218 (JP:build 3219)
7.20 build 3144 (JP:build 3145)
7.1x
7.0x
VENDOR : Opera Software ASA (http://www.opera.com/)
SEVERITY : Critical.
An arbitrary file could be deleted on Local Disk
from Remote.
DISCOVERED BY : nesumin
AUTHOR : :: Operash ::
REPORTED DATE : 2003-11-26
RELEASED DATE : 2003-12-12
ORIGINAL URL : http://opera.rainyblue.org/adv/opera07-autodel-en.php
----------------------------------------------------------------------
0. PRODUCT
============
Opera for windows is a GUI base WEB Browser.
Opera Software ASA (http://www.opera.com/)
1. DESCRIPTION
================
Displaying a Download Dialog, Opera creates a temporary file.
But this file name is not sanitized enough, so that an existing
file can be deleted.
Exploiting this vulnerability, an attacker can delete
an arbitrary existing file on a local disk from remote.
With this vulnerability, there could be following risks;
* Destruction of the system.
* Destruction of application data.
2. SYSTEMS AFFECTED
=====================
7.22 build 3221 (JP:build 3222)
7.21 build 3218 (JP:build 3219)
7.20 build 3144 (JP:build 3145)
7.1x
7.0x
3. SYSTEMS NOT AFFECTED
=========================
7.23 build 3227 (JP:build 3226)
4. EXAMINES
=============
Opera for Windows:
Opera 7.23 build 3227 (JP:build 3226)
Opera 7.22 build 3221 (JP:build 3222)
Opera 7.21 build 3218 (JP:build 3219)
Opera 7.20 build 3144 (JP:build 3145)
Opera 7.11 build 2887
Opera 7.11 build 2880
Opera 7.10 build 2840
Opera 7.03 build 2670
Opera 7.02 build 2668
Opera 7.01 build 2651
Platform:
Windows 98SE Japanese
Windows 2000 Professional SP4 Japanese
Windows XP Professional SP1 Japanese
5. SOLUTION
===============
Upgrade to version 7.23 or later version.
6. TECHNICAL DETAILS
======================
Displaying a Download Dialog, Opera creates a temporary file
which is based on the name used while downloading in the
temporary directory. This temporary file is for searching
the associated application.
---------------------------------------------------------------
ex)
Download URL:
"http://server/path/FILENAME.ext"
Temporary Filename:
"c:\windows\temp\FILXXX.tmp.FILENAME.ext"
(XXX is random string, like "01A")
---------------------------------------------------------------
But this temporary file name is not sanitized enough so that
it can possibly contain the illegal character string '..%5C'.
The file with this string can be located on any paths on the
same drive as the temporary file.
If there's an already existing file with the same name on
the path, it will be overwritten and deleted soon.
---------------------------------------------------------------
ex)
Download URL:
http://server/path/AAAAAAAAAA%5C..%5C..%5Ccalc.exe
Temporary Filename:
"c:\windows\temp\AAAXXX.tmp.AAAAAAAAAA\..\..\calc.exe"
this is... "c:\windows\calc.exe"
---------------------------------------------------------------
Therefore, if a user goes to a malicious URL which makes Opera
display the Download Dialog, his files could be deleted with
this vulnerability.
The conditions of deletable files;
1. File's path can be specified with a relative path.
from a temporary directory.
2. File name contains '.' .
3. Writable file within Opera process's authority.
4. Except "Read Only" attribute on Windows 9x Kernel.
Except "Read Only", "System" or "Hide" attributes on
Windows NT Kernel.
7. SAMPLE CODE
================
None release.
8. TIME TABLE & VENDOR STATUS
===============================
2003-10-09 Discovered this vulnerability.
2003-11-26 Reported to vendor.
2003-12-12 Released this advisory.
No reply from vendor.
9. DISCLAIMER
===============
A. We cannot guarantee the accuracy of all statements in this information.
B. We do not anticipate issuing updated versions of this information
unless there is some material change in the facts.
C. And we will take no responsibility for any kinds of disadvantages by
using this information.
D. You can quote this advisory without our permission if you keep the
following;
a. Do not distort this advisory's content.
b. A quoted place should be a medium on the Internet.
E. If you have any questions, please contact to us.
10. CONTACT, ETC
==================
:: Operash :: http://opera.rainyblue.org/
imagine (Operash Webmaster)
nesumin <nesumin[at]softhome[dot]net>
Thanks to :
anima
melorin
piso