CERT-SEI

Superfluous Decoding Vulnerability in IIS

Original release date: May 15, 2001
Last revised: --
Source: CERT/CC

A complete revision history is at the end of this file.

Systems Affected

  • Systems running Microsoft IIS

Overview

A serious vulnerability in Microsoft IIS may allow remote intruders to execute commands on an IIS web server. This vulnerability closely resembles a previous vulnerability in IIS that was widely exploited. The CERT/CC urges IIS administrators to take action to correct this vulnerability.

I. Description

URIs may be encoded according to RFC 2396. Among other things, this RFC provides an encoding for arbitrary octets using the percent sign (%) and hexadecimal characters.

Quoting from RFC 2396:

An escaped octet is encoded as a character triplet, consisting of the percent character "%" followed by the two hexadecimal digits representing the octet code. For example, "%20" is the escaped encoding for the US-ASCII space character.

escaped = "%" hex hex
hex = digit | "A" | "B" | "C" | "D" | "E" | "F"

Like all web servers, Microsoft IIS decodes input URIs to a canonical format. Thus, the following encoded string:

A%20Filename%20With%20Spaces
will get decoded to
A Filename With Spaces

Unfortunately, IIS decodes some of the input twice. The second decoding is superfluous. Security checks are applied to the results of the first decoding, but IIS utilizes the results of the second decoding. If the results of the first decoding pass the security checks and the results of the second decoding refer to a valid file, access will be granted to the file even if it should not be. More information is available at

http://www.microsoft.com/technet/security/bulletin/MS01-026.asp
http://www.nsfocus.com/english/homepage/sa01-02.htm
http://www.kb.cert.org/vuls/id/789543

Note that this does not permit intruders to bypass ACLs enforced by the filesystem, only security checks performed by IIS. We encourage you to configure your web server according to the guidelines provided in

http://www.microsoft.com/technet/security/iis5chk.asp
http://www.microsoft.com/technet/security/iischk.asp
http://www.microsoft.com/technet/security/tools.asp

Theses guidelines can help you reduce your exposure to this problem, and possibly to problems that have not yet been discovered.

This issue was discovered by NSFocus.

The CVE Project has assigned the following identifier to this vulnerability:

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2001-0333

This vulnerability has many similarities to the Web Server Folder Directory Traversal Vulnerability, which has been widely exploited. For more information on that vulnerability, see

http://www.kb.cert.org/vuls/id/111677

II. Impact

Intruders can run arbitrary commands with the privileges of the IUSR_machinename account.

III. Solutions

Apply a patch from your vendor

Information on patches from Microsoft is available at

http://www.microsoft.com/technet/security/bulletin/MS01-026.asp

Additional advice on securing IIS web servers is available from

http://www.microsoft.com/technet/security/iis5chk.asp
http://www.microsoft.com/technet/security/tools.asp

Appendix A. Vendor Information

Microsoft Corporation

The following documents regarding this vulnerability are available from Microsoft:

http://www.microsoft.com/technet/security/bulletin/MS01-026.asp
Authors:  Shawn Hernan.

Copyright 2001 Carnegie Mellon University.

Revision History

May 15, 2001: Initial Release