CWE
Home > CWE List > CWE- Individual Dictionary Definition (1.0.1)  
Search by ID:

CWE-444: Inconsistent Interpretation of HTTP Requests (aka 'HTTP Request Smuggling')

Individual Definition in a New Window
Inconsistent Interpretation of HTTP Requests (aka 'HTTP Request Smuggling')
Status: Incomplete
Weakness ID: 444 (Weakness Base)
Description
Summary

When malformed or abnormal HTTP requests are interpreted by one or more entities in the data flow between the user and the web server, such as a proxy or firewall, they can be interpreted inconsistently, allowing the attacker to "smuggle" a request to one device without the other device being aware of it.

Potential Mitigations

Use a web server that employs a strict HTTP parsing procedure, such as Apache (See paper in reference).

Use only SSL communication.

Terminate the client session after each request.

Turn all pages to non-cacheable.

Observed Examples
ReferenceDescription
Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
Other Notes

Request smuggling can be performed due to a multiple interpretation error, where the target is an intermediary or monitor, via a consistency manipulation (Transfer-Encoding and Content-Length headers).

Resultant from CRLF injection.

References
Chaim Linhart, Amit Klein, Ronen Heled and Steve Orrin. "HTTP Request Smuggling". <http://www.cgisecurity.com/lib/HTTP-Request-Smuggling.pdf>.
Relationships
NatureTypeIDNameView(s) this relationship pertains toView(s)
ChildOfWeakness BaseWeakness BaseWeakness Base436Interpretation Conflict
Research Concepts (primary)1000
ChildOfCategoryCategory442Web Problems
Development Concepts (primary)699
Taxonomy Mappings
Mapped Taxonomy NameMapped Node Name
PLOVERHTTP Request Smuggling
Applicable Platforms
Languages
All
Time of Introduction
* Architecture and Design
* Implementation
Related Attack Patterns
CAPEC-ID(CAPEC Version 1.1)Attack Pattern Name
33HTTP Request Smuggling
Content History
Submissions
PLOVER. (Externally Mined)
Modifications
Eric Dalci. Cigital. 2008-07-01. (External)
updated Potential_Mitigations, Time_of_Introduction
CWE Content Team. MITRE. 2008-09-08. (Internal)
updated Name, Relationships, Other_Notes, Taxonomy_Mappings
Previous Entry Names
* HTTP Request Smuggling (changed 2008-04-11)
* Interpretation Conflict in Web Traffic (aka 'HTTP Request Smuggling') (changed 2008-09-09)
Page Last Updated: October 16, 2008