Some HTTP handling devices are vulnerable to a flaw which may allow a specially crafted request to elicit multiple responses, some of which may be controlled by the attacker. These attacks may result in cache poisoning, information leakage, cross-site scripting, and other outcomes.
A flaw in handling HTTP requests that contain the "HTTP Request Smuggling" class of attacksHTTP Request Smuggling attacks involve injecting HTTP request(s) within other HTTP requests. Devices that handle HTTP data, such as web caches and proxy servers, may contribute to a class of attacks known as "HTTP Request Smuggling" attacks. HTTP Request Smuggling attacks occur when specially-crafted HTTP requests are inconsistently processed by multiple interconnected devices. In this manner the secondary request(s) may be "smuggled" through other devices without detection.
As a simple example, including multiple Content-Length headers into a single request may result in interconnected devices handling the request in a different manner. Given two Content-Length headers, partial request data may be processed on one device where another subsequent device (using the longer Content-Length header) may read more request data. This in turn changes the nature of the request and may result in cache poisoning or request hijacking.
Multiple scenarios are possible depending on the devices in use and the strategies that are utilized by the attacker. These attacks may involve cache poisoning, request hijacking, protection bypass, and cross-site scripting.
Apply an update
Thanks to Watchfire for providing information on this flaw.
This document was written by Ken MacInnis based primarily on information provided by Watchfire
|Date First Published:||2005-02-04|
|Date Last Updated:||2007-08-08 18:12 UTC|