Microsoft KB Archive/267559

= MS00-044: GET on HTR file can cause a &quot;denial of service&quot; or enable directory browsing =

Article ID: 267559

Article Last Modified on 11/21/2006

-

APPLIES TO


 * Microsoft Internet Information Services 5.0
 * Microsoft Internet Information Server 4.0

-



This article was previously published under Q267559



SYMPTOMS
NOTE: The issues described in this article are most likely to occur only on computers that have been upgraded from IIS 3.0 (that included .htr-based administrative tools) to IIS 4.0 or 5.0.

One of the following symptoms may occur when a GET is performed on a .htr file.

Symptom 1 - denial of service
Performing a GET with a missing parameter on an existing .htr file can cause the execution of an endless loop, resulting in 100 percent CPU usage, and in turn, a denial of service to clients of the IIS server.

Symptom 2 - ability to browse directories
Performing a GET with a missing parameter for a .htr file that exists can give a Web site visitor the ability to browse the Web site's directories.

NOTE: Only read-only browsing occurs in this situation. No files can be modified by the Web site visitor.



Cause of symptom 1: denial of service
The .htr file that received the GET does not correctly handle the case where an expected parameter is missing. The absence of the parameter causes the script to go into an endless loop, at which point the script consumes all CPU resources on the server.

NOTE: An administrative script, implemented as a .htr file and installed as part of IIS 3.0 and preserved on upgrade to IIS 4.0 or IIS 5.0 has this behavior of does not correctly handle a missing parameter

Cause of symptom 2: ability to browse directories
In addition, the permissions on the administrative script (and several related ones), as well as potential .htr scripts created by the IIS user that were appropriate under IIS 3.0 are inappropriate under IIS 4.0 and 5.0. This may allow Web site visitors to use these tools, which provide the ability to view the directory structure on the server.

Why do the tools have incorrect permissions?
In IIS 3.0, HTR scripts can only be executed locally (that is, from the server itself). Because only an administrator should be able to log onto a Web server locally, it wasn't necessary for the scripts to authenticate the user, and it wasn't necessary to restrict who could execute them.

However, IIS 4.0 introduced the capability for HTR scripts to be called remotely. The combination of these two factors (loose permissions inherited from IIS 3.0, coupled with the ability under IIS 4.0 to remotely execute HTR scripts) results in the incorrect permissions.



RESOLUTION
To resolve this problem, obtain the latest service pack for Windows 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to obtain the latest Windows Service Pack

Resolution for both symptoms
If you do not have business-critical .htr scripts, perform the following to disable .htr functionality:
 * 1) Open the Internet Services Manager.
 * 2) Right-click the Web server, click Properties, click Master Properties, and then click WWW Service.
 * 3) Click Edit, click Home Directory, and then click Configuration.
 * 4) Remove the .htr entry

Resolution for symptom 2: ability to browse directories
Delete the /Scripts/Iisadmin directory, which contains the administrative scripts used by IIS 3.0.

Alternatively, if you need to preserve this directory for some reason, make sure to explicitly limit the access permissions to the proper user accounts.

Resolution for symptom 1: denial of service
For customers with business-critical HTR scripts who need to retain .htr functionality and therefore can't disable .htr functionality, the following patch is available that corrects the Denial of Service issue described in Symptom 1.

For Windows 2000

The following files are available for download from the Microsoft Download Center:

English Language Version

Arabic Language Version

Chinese (Simplified) Language Version

Chinese (Traditional) Language Version

Czech Language Version

Danish Language Version

Dutch Language Version

Finnish Language Version

French Language Version

German Language Version

Greek Language Version

Hebrew Language Version

Hungarian Language Version

Italian Language Version

Japanese Language Version

Japanese NEC Language Version

Korean Language Version

Norwegian Language Version

Polish Language Version

Portuguese (Brazilian) Language Version

Portuguese Language Version

Russian Language Version

Spanish Language Version

Swedish Language Version

Turkish Language Version

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services

Microsoft 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 prevent any unauthorized changes to the file. The English version of this fix should have the following file attributes or later:

  Date        Time    Version         Size    File name -  07/07/2000  03:17p  5.00.2195.2100  46,352  Ism.dll For Windows NT 4.0

A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.The following files are available for download from the Microsoft Download Center:

x86: Download Htrdos4i.exe now

x86 Symbols: Download Htrdos4is.exe now

Alpha: Download Htrdos4a.exe now

Alpha Symbols: Download Htrdos4as.exe now

For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:

119591 How to obtain Microsoft support files from online services

Microsoft 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 prevent any unauthorized changes to the file. The English version of this fix should have the following file attributes or later:

  Date        Time    Version    Size    File name  Platform --  06/28/2000  09:34p  4.2.748.1  54,544  Ism.dll    x86 06/28/2000 09:30p  4.02.0748  84,752  Ism.dll    Alpha For Windows NT Server version 4.0, Terminal Server Edition

To resolve this problem, obtain the Windows NT Server 4.0, Terminal Server Edition, Security Rollup Package (SRP). For more information, click the following article number to view the article in the Microsoft Knowledge Base:

317636 Windows NT Server 4.0, Terminal Server Edition, Security Rollup Package



STATUS
Microsoft has confirmed that this is a problem in about what this package fixes. This problem was first corrected in 260838 Service Pack IIS Stops Servicing HTR Requests.



MORE INFORMATION
For more information, click the following article number to view the article in the Microsoft Knowledge Base:

260069 Malformed HTR request returns source code for ASP scripting files

Related security bulletin
For more information, please see the Microsoft Security Bulletin at http://www.microsoft.com/technet/security/bulletin/ms00-044.asp.

How can an affected server be put back into service?
Stop and restart the IIS service. It's not necessary to restart the server.

What is HTR?
HTR is a first-generation advanced scripting technology that is included in IIS 3.0. However, HTR was never widely adopted, and was superceded by Active Server Pages (ASP) technology introduced in IIS 4.0.

Additional query words: nt winnt Windows 2000 win2k DoS attack vulnerability security hack hacker folder argument risk akz security_patch

Keywords: kbbug kbfix kbgraphxlinkcritical kbwin2000presp2fix kbsecurity KB267559

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.