Buffer Overflow in Microsoft IIS 5.0
Last revised: Fri Apr 25 14:10:29 EDT 2003
A complete revision history is at the end of this file.
- Systems running Windows 2000
- Systems running Windows NT 4.0
A buffer overflow vulnerability exists in the Win32 API libraries shipped with all versions of Microsoft Windows 2000 and Microsoft Windows NT 4.0. This vulnerability, which is being actively exploited on WebDAV-enabled IIS 5.0 servers, will allow a remote attacker to execute arbitrary code on unpatched systems. Sites running Microsoft Windows 2000 and Microsoft Windows NT 4.0 should apply a patch or disable WebDAV services as soon as possible.
Microsoft Windows 2000 (and possibly prior versions of Windows) contains a dynamic link library (DLL) named ntdll.dll. This DLL is a core operating system component used to interact with the Windows kernel. A buffer overflow vulnerability exists in ntdll.dll, which is utilized by many different components in the Windows operating system.
The WebDAV (RFC2518)
component of Microsoft
IIS 5.0 is an example of one Windows component that uses
ntdll.dll. The IIS WebDAV component utilizes ntdll.dll when
processing incoming WebDAV requests. By sending a specially crafted
WebDAV request to an IIS 5.0 server, an attacker may be able to
execute arbitrary code in the Local System security context,
essentially giving the attacker complete control of the system.
Because the vulnerable Win32 API component is utilized by many other applications, it is possible other exploit vectors exist. However, we have only been told of systems compromised running IIS 5.0 with WebDAV enabled. Sites using Windows 2000 but not running IIS 5.0 with WebDAV need to carefully weigh the trade-offs before applying patches to systems where the core vulnerability exists but may not be exploitable.Microsoft has issued the following bulletin regarding this vulnerability:
Any attacker who can reach a vulnerable web server can gain complete control of the system and execute arbitrary code in the Local System security context. Note that this may be significantly more serious than a simple "web defacement."
Apply a patch from your vendor
A patch is available from Microsoft at
Disable vulnerable serviceUntil a patch can be applied, you may wish to disable IIS:
Restrict buffer sizeIf you cannot use the IIS lockdown tool, consider restricting the size of the buffer IIS utilizes to process requests by using Microsoft's URL Buffer Size Registry Tool. This tool can be run against a local or remote Windows 2000 system running Windows 2000 Service Pack 2 or Service Pack 3. The tool, instructions on how to use it, and instructions on how to manually make changes to the registry are available here:
URL Buffer Size Registry Tool - http://go.microsoft.com/fwlink/?LinkId=14875
Microsoft Knowledge Base Article 816930 - http://support.microsoft.com/default.aspx?scid=kb;en-us;816930
Microsoft Knowledge Base Article 260694 - http://support.microsoft.com/default.aspx?scid=kb;en-us;260694
Appendix A. Vendor Information
This appendix contains information provided by vendors. When vendors report new information, this section is updated and the changes are noted in the revision history. If a vendor is not listed below, we have not received their comments.
Please see Microsoft Security Bulletin MS03-007.
The CERT/CC thanks Microsoft for their feedback during the preparation of this document. We also thank the Department of Education Network Engineering group for their contributions.
Authors: Ian A. Finlay & Jeffrey S. Havrilla
Copyright 2003 Carnegie Mellon University.
March 17, 2003: Initial release
March 17, 2003: Changed overview section to reflect IIS 5.0 enabled by default on Windows 2000 server products
March 19, 2003: Changed title from "Buffer Overflow in Microsoft IIS 5.0" to "Buffer Overflow in Core Microsoft Windows DLL"
March 19, 2003: Changed overview and description to reflect fact that vulnerability is in core system DLL
March 19, 2003: Revised section on disabling IIS
April 25, 2003: Revised Systems affected to include Microsoft Windows NT 4.0