Buffer Overflow In IIS Indexing Service DLL
Last revised: January 17, 2002
A complete revision history is at the end of this file.
- Systems running Microsoft Windows NT 4.0 with IIS 4.0 or IIS 5.0 enabled
- Systems running Microsoft Windows 2000 (Professional, Server, Advanced Server, Datacenter Server)
- Systems running beta versions of Microsoft Windows XP
A vulnerability exists in the Indexing Services used by Microsoft IIS 4.0 and IIS 5.0 running on Windows NT, Windows 2000, and beta versions of Windows XP. This vulnerability allows a remote intruder to run arbitrary code on the victim machine.
Since specific technical details on how to create an exploit are publicly available for this vulnerability, system administrators should apply fixes or workarounds on affected systems as soon as possible.
A translation of this advisory into Polish is available at http://www.cert.pl/CA/CA-2001-13-PL.html.
There is a remotely exploitable buffer overflow in one of the ISAPI extensions installed with most versions of IIS 4.0 and 5.0 (The specific Internet/Indexing Service Application Programming Interface extension is IDQ.DLL). An intruder exploiting this vulnerability may be able to execute arbitrary code in the Local System security context. This essentially can give the attacker complete control of the victim system.
This vulnerability was discovered by eEye Digital Security. Microsoft has released the following bulletin regarding this issue:
Affected versions of Windows include Windows NT 4.0 (installed with IIS 4.0 and Index Server 2.0), Windows 2000 (Server and Professional with IIS 5.0 installed), and Windows 2000 Datacenter Server OEM distributions; however, not all of these instances are vulnerable by default. The beta versions of Windows XP are vulnerable by default.
The only precondition for exploiting this vulnerability is that an IIS server is running with script mappings for Internet Data Administration (.ida) and Internet Data Query (.idq) files. The Indexing Services do not need to be running. As stated by Microsoft in MS01-033:
- The buffer overrun occurs before any indexing functionality is requested. As a result, even though idq.dll is a component of Index Server/Indexing Service, the service would not need to be running in order for an attacker to exploit the vulnerability. As long as the script mapping for .idq or .ida files were present, and the attacker were able to establish a web session, he could exploit the vulnerability.
This vulnerability has been assigned the identifier CAN-2001-0500 by the Common Vulnerabilities and Exposures (CVE) group:
Anyone who can reach a vulnerable web server can execute arbitrary code in the Local System security context. This results in the intruder gaining complete control of the system. Note that this may be significantly more serious than a simple "web defacement."
Apply a patch from your vendor
Apply patches for vulnerable Windows NT 4.0 and Windows 2000 systems:
For Windows NT 4.0:
For Windows 2000 Professional, Server, and Advanced Server:
Users of Windows 2000 Datacenter Server software should contact their original equipment manufacturer (OEM) for patches. A list of OEM providers may be found here:
Users of beta copies of Windows XP should upgrade to a newer version of the software when it becomes available.
All affected versions of IIS/Indexing Services can be protected against exploits of this vulnerability by removing script mappings for Internet Data Administration (.ida) and Internet Data Query (.idq) files. However, such mappings may be recreated when installing other related software components.
The following documents regarding this vulnerability are available from Microsoft:
- VU#952336: Microsoft Index Server/Indexing Service used by IIS 4.0/5.0 contains unchecked buffer used when encoding double-byte characters CERT/CC, 06/19/2001, https://www.kb.cert.org/vuls/id/952336
- Additional advice on securing IIS web servers is available from
Copyright 2001 Carnegie Mellon University.
Jun 19, 2001: Initial Release Jun 21, 2001: Removed statement about patch supersession Jul 17, 2001: Updated Feedback link Jul 30, 2001: Added link to Polish translation Aug 16, 2001: Added link to Microsoft Security Bulletin MS01-044 Jan 17, 2002: Updated Feedback link