MS00-023: 100% CPU Usage Occurs When You Send a Large Escape Sequence
This article has been archived. It is offered "as is" and will no longer be updated.
When you send a large escape sequence to a computer running Internet Information Server 4.0 or Internet Information Services 5.0, the computer may use 100 percent CPU while it is processing the request. During this time, the server may not respond to other requests.
This problem occurs because the Str::unescape function parses the escape characters in the request string by processing one character at a time, shifting the data over each time, and then starting again from the beginning of the request string. This takes a considerable amount of CPU usage, and can cause the server to stop processing other requests.
Internet Information Services 5.0 (Windows 2000)To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service PackThe following files are available for download from the MicrosoftDownload Center:
US English:Chinese (Simplified):Chinese (Traditional):German:Japanese:Korean:
119591 How to Obtain Microsoft Support Files from Online ServicesMicrosoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.
Microsoft Windows NT Server version 4.0, Terminal Server EditionTo resolve this problem, obtain the Windows NT Server 4.0, Terminal Server Edition, Security Rollup Package (SRP). For additional information about the SRP, click the article number below to view the article in the Microsoft Knowledge Base:
317636 Windows NT Server 4.0, Terminal Server Edition, Security Rollup Package
Windows 2000Microsoft has confirmed that this is a problem in Internet Information Services 5.0. This problem was first corrected in Windows 2000 Service Pack 1.
When you install this fix, the Str::unescape function traverses the request string only one time.
For additional information, please see the Microsoft Security Bulletin at the following Microsoft Web site:
Article ID: 254142 - Last Review: 01/10/2015 03:57:44 - Revision: 8.0
- kbnosurvey kbarchive kbhotfixserver kbqfe kbbug kbfix kbgraphxlinkcritical kbsecurity kbwin2000sp1fix KB254142