Vulnerability Note VU#867593

Web servers enable HTTP TRACE method by default

Original Release date: 23 Jan 2003 | Last revised: 17 Aug 2009

Overview

The HTTP TRACE method returns the contents of client HTTP requests in the entity-body of the TRACE response. Attackers could leverage this behavior to access sensitive information, such as cookies or authentication data, contained in the HTTP headers of the request.

Description

The HTTP TRACE method asks a web server to echo the contents of the request back to the client for debugging purposes. The HTTP TRACE method is described in the HTTP 1.1 standard (RFC 2616, section 9.8):

9.8 TRACE
   The TRACE method is used to invoke a remote, application-layer loop-
   back of the request message. The final recipient of the request
   SHOULD reflect the message received back to the client as the
   entity-body of a 200 (OK) response.
   ...
   If the request is valid, the response SHOULD contain the entire
   request message in the entity-body, with a Content-Type of
   "message/http". Responses to this method MUST NOT be cached.

As defined above, the complete request, including HTTP headers, is returned in the entity-body of a TRACE response. Using features that provide client-side HTTP protocol support, such as XMLHTTP ActiveX or XMLDOM scripting objects, a web site can cause browsers to issue TRACE requests. The site can read the TRACE response, including sensitive header information such as cookies or authentication data.

When combined with cross-domain browser vulnerabilities (VU#244729, VU#711843, VU#728563), HTTP TRACE and client-side HTTP support can be leveraged by attackers to read sensitive header information from third-party domains. This technique has been termed "Cross-Site Tracing," or XST, in a report published by WhiteHat Security. As noted in the report, the technique can be used to bypass the HttpOnly cookie attribute introduced in Microsoft Internet Explorer 6.0 SP1. HttpOnly blocks script access to the cookie property (document.cookie), but does not prevent a scripting object from reading the cookie out of an HTTP TRACE response.

Impact

Attackers may abuse HTTP TRACE functionality to gain access to information in HTTP headers such as cookies and authentication data. In the presence of other cross-domain vulnerabilities in web browsers, sensitive header information could be read from any domains that support the HTTP TRACE method.

Solution


Disable HTTP TRACE support

Based on site requirements and policy, consider disabling HTTP TRACE support in web servers. As a best practice, we recommend limiting input ("whitelisting") to the minimum set of methods required for proper operation of a given application.

Apache HTTP Server

    To disable HTTP TRACE support, set TraceEnable Off.

    Alternatively, use the Apache mod_rewrite module to deny HTTP TRACE requests or to permit only the methods needed to meet site requirements and policy. TRACE requests can be disabled with the following mod_rewrite syntax:
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^TRACE
    RewriteRule .* - [F]

    Disabling HTTP TRACE with the TraceEnable directive is simpler, more direct, and requires less overhead than using mod_rewrite.
Microsoft Internet Information Services (IIS)
    Use the URLScan tool to deny HTTP TRACE requests or to permit only the methods needed to meet site requirements and policy. The default configurations of Urlscan 2.5 (both baseline and SRP) only permit GET and HEAD methods.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
ApacheAffected08 Jan 200310 Jan 2003
IBM CorporationAffected-22 Feb 2008
Lotus SoftwareAffected-22 Feb 2008
Microsoft CorporationAffected08 Jan 200323 Jan 2003
Sun Microsystems, Inc.Affected08 Jan 200317 Aug 2009
BEA Systems Inc.Unknown-24 Feb 2003
Oracle CorporationUnknown-24 Feb 2003
Roxen Internet Software ABUnknown-24 Feb 2003
thttpdUnknown-24 Feb 2003
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A

References

Credit

This issue was researched and reported by Jeremiah Grossman of WhiteHat Security.

This document was written by Art Manion.

Other Information

  • CVE IDs: Unknown
  • Date Public: 20 Jan 2003
  • Date First Published: 23 Jan 2003
  • Date Last Updated: 17 Aug 2009
  • Severity Metric: 3.71
  • Document Revision: 48

Feedback

If you have feedback, comments, or additional information about this vulnerability, please send us email.