Security Bulletin

Microsoft Security Bulletin MS00-084 - Critical

Patch Available for 'Indexing Services Cross Site Scripting'

Published: November 02, 2000 | Updated: June 23, 2003

Version: 2.1

Originally posted: November 02, 2000
Updated: June 23, 2003

Summary

Microsoft has released a patch that eliminates a security vulnerability in Microsoft® Indexing Services for Windows 2000. This vulnerability could allow a malicious web site operator to misuse another web site as a means of attacking users.

Subsequent to the release of this bulletin, it was discovered that an available package for the version of the Indexing Service which shipped with the NT 4.0 Option Pack had never been released. The bulletin is being updated to include the download locations for that version of the fix.

Affected Software:

  • Microsoft Indexing Services for Windows 2000
  • Microsoft Indexing Services for Windows NT 4.0

Note: The Indexing Service ships and installs with Windows 2000, but is not enabled by default. Users who are running web servers on Windows 2000 who have enabled Indexing Services are urged to apply this patch.

The Indexing Service for Windows NT 4.0 ships with the NT Option Pack, and is not installed or enabled by default.

Vulnerability Identifier: CVE-2000-0942

General Information

Technical details

Technical description:

On February 20, 2000, Microsoft and the CERT Coordination Center published information on a newly-identified security vulnerability affecting all web server products. This vulnerability, known as Cross-Site Scripting (CSS), results when web applications don't properly validate inputs before using them in dynamic web pages. If a malicious web site operator were able to lure a user to his site, and had identified a third-party web site that was vulnerable to CSS, he could potentially use the vulnerability to "inject" script into a web page created by the other web site, which would then be delivered to the user. The net effect would be to cause the malicious user's script to run on the user's machine using the trust afforded the other site.

The vulnerability can affect any software that runs on a web server, accepts user input, and uses it to generate web pages without sufficient validation. Microsoft has identified an Indexing Service component (CiWebHitsFile) that, when called from a specially crafted URL, is vulnerable to this scenario.

Frequently asked questions

What's this bulletin about?
Microsoft Security Bulletin MS00-084 announces the availability of a patch that eliminates a vulnerability in Microsoft® Indexing Services for Windows 2000. Microsoft is committed to protecting customers' information, and is providing the bulletin to inform customers of the vulnerability and what they can do about it.

What's the scope of the vulnerability?
This vulnerability could enable a malicious user to cause code to run on the machine of another user in the guise of a third-party web site. Such code could take any action on the user's computer that the third-party web site was permitted to take. In addition, the code could be made persistent, so that if the user returned to the web site again in the future, the code would begin running again. The vulnerability could only be exploited if the user clicked on a hypertext link, either in an HTML mail or on a malicious user's web site - the code could not be "injected" into an existing session. The patch provided in the bulletin should be applied by web server administrators, and will help prevent their sites from being used as the third-party site mentioned above.

What causes the vulnerability?
The CiWebHitsFile component provided by Indexing Services doesn't properly validate all inputs before using them, and is consequently vulnerable to Cross-Site Scripting (CSS).

What is the Indexing Service?
The Indexing Service is a search engine that is integrated with Internet Information Server and Windows 2000. It allows users to perform full-text searches of online sites using their browsers. Unlike many other search engines, Indexing Services can search Word, Excel and PowerPoint documents as well as HTML documents.

Is the Indexing Service installed and running by default?
No. In Windows 2000, Indexing Services is installed by default, but the service is not started unless the administrator explicitly starts it.

What is Cross Site Scripting?
CSS is a recently-discovered security vulnerability that potentially enables a malicious user to "inject" code into a user's session with a web site. Unlike most security vulnerabilities, CSS doesn't apply to any single vendor's products - instead, it can affect any software that runs on a web server and doesn't follow defensive programming practices. In early 2000, Microsoft and the CERT Coordination Center worked together to inform the software industry of the issue and lead an industry-wide response to it. Microsoft published extensive information about CSS, including information for developers on how to check their code for potential vulnerabilities. Microsoft has identified and corrected a specific instance in Indexing Services where proper checking was not performed. The patch provided in the bulletin eliminates this flaw.

How does CSS work?
A good description is available in the form of an executive summary and a FAQ. However, at a high level of detail, here's how CSS works. Suppose Web Site A offers a search feature that lets a user type a word or phrase he'd like to search for. If the user typed "banana" in as the search phrase, the site would search for the phrase, then generate a web page saying "I'm sorry, but I can't find the word 'banana'". It would send the web page to his browser, which would then parse the page and display it. Now suppose that, instead of entering "banana" as the search phrase, he entered something like "banana ‹SCRIPT› ‹Alert('Hello');› ‹/SCRIPT›". If the search feature were written to blindly use whatever search phrase it's provided, it would search for the entire string, and create a web page saying "I'm sorry, but I can't find the word "banana ‹SCRIPT› ‹Alert('Hello');› ‹/SCRIPT›"". However, all of the text beginning with "‹SCRIPT›" and ending with "‹/SCRIPT›" is actually program code, so when the page was processed, a dialogue box would be displayed by the user's browser, saying "Hello". So far, this example has only shown how a user could "relay" code off a web server and make it run on his own machine. That's not a security vulnerability. However, it's possible for a malicious web site operator to invoke this vulnerability to run on the computer of a user who visits his site. If Web Site B were operated by a malicious user and he was able to entice the user into visiting his web site and clicking a hyperlink, his site could go to Web Site A, fill in the search page with malicious script, and submit it on behalf of the user. The resulting page would return to the user (since the user, having clicked on the hyperlink, was ultimately the requester), and process on the user's machine. The end result would be that the malicious user's script would run on the user's machine.

What could the script do on the user's machine?
It would depend on the privileges Web Site A has on the user's machine. If both Web Site A and B had exactly the same permissions on a particular user's machine, it wouldn't confer any advantages. However, if the user had designated Web Site A as a trusted site, and allowed it to have greater privileges on his machine, the malicious user's code could take advantage of these increased privileges.

Would it matter what browser the user was using?
No. The important point here is that the problem lies with the software on the web server, not with the browser. The vulnerability could potentially occur any time software on the web server blindly uses whatever inputs it's provided. Instead, it should filter out any inputs that aren't appropriate. In the example above, the search engine should strip out any characters that could be used to inject script into the search process, such as "". A full description of the characters that should be filtered is available in Knowledge Base article Q252985.

I run a web site. In the example above, which web site would be mine?
Your web site would be Web Site A. The vulnerability wouldn't directly pose a threat to your web site - that is, the malicious user wouldn't seek to compromise your site, and the vulnerability wouldn't allow him to add, change or delete any content on it. However, he could use your site as a means of attacking users.

So, this patch needs to be installed on servers, not on browsers?
Yes. Customers using an affected product should install the patch to prevent their web site from being used in a CSS scenario.

What about the other software running on my web server? Could it be used for CSS?
Any software running on a web server could be vulnerable to CSS if it:

  • solicits input from the user
  • uses the input blindly, without performing validity checks, and
  • incorporates the input into a dynamic web page that's sent to the user

Microsoft recommends that customers running web sites contact the suppliers of all software running on their servers, and verify that the vendor has reviewed it for CSS vulnerabilities.

Who Should use the patch?
Microsoft recommends that the patch be installed on any web server that has enabled Indexing Services for Windows 2000.

What does the patch do?
The patch eliminates the vulnerability by properly validating all data sent to the Indexing Service.

Where can I get the patch?
The download location for the patch is provided in the "Patch Availability" section of the security bulletin.

How do I use the patch?
The Knowledge Base article contains detailed instructions for applying the patch to your site.

How can I tell if I installed the patch correctly?
The Knowledge Base article provides a manifest of the files in the patch package.The easiest way to verify that you've installed the patch correctly is to verify that these files are present on your computer, and have the same sizes and creation dates as shown in the KB article.

What is Microsoft doing about this issue?

  • Microsoft has delivered a patch that eliminates the vulnerability.
  • Microsoft has provided a security bulletin and this FAQ to provide customers with a detailed understanding of the vulnerability and the procedure to eliminate it.
  • Microsoft has sent copies of the security bulletin to all subscribers to the Microsoft Product Security Notification Service, a free e-mail service that customers can use to stay up to date with Microsoft security bulletins.
  • Microsoft has issued a Knowledge Base article explaining the vulnerability and procedure in more detail.

Where can I learn more about best practices for security?
The Microsoft TechNet Security web site is the best to place to get information about Microsoft security.

How do I get technical support on this issue?
Microsoft Product Support Servicescan provide assistance with this or any other product support issue.

Patch availability

Download locations for this patch

Additional information about this patch

Installation platforms: Please see the following references for more information related to this issue.

Other information:

Acknowledgments

Microsoft thanks Eiji "James" Yoshida for reporting the missing Windows NT 4.0 package issue to us and working with us to protect customers.

Support: This is a fully supported patch. Information on contacting Microsoft Product Support Services is available at </https:>https:.

Security Resources: The Microsoft TechNet Security Web Site provides additional information about security in Microsoft products.

Disclaimer:

The information provided in the Microsoft Knowledge Base is provided "as is" without warranty of any kind. Microsoft disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. In no event shall Microsoft Corporation or its suppliers be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages, even if Microsoft Corporation or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply.

Revisions:

  • V1.0 (November 02, 2000): Bulletin Created.
  • V1.1 (February 28, 2003): Updated links in Frequently Asked Questions section.
  • V2.0 (April 9, 2003): Bulletin updated to reflect an available fix for the version of the Indexing Service which shipped with the NT 4.0 Option Pack. It is not installed or enabled by default.
  • V2.1 (June 23, 2003): Updated links in Additional Information section.

Built at 2014-04-18T13:49:36Z-07:00 </https:>