CWE
CWE/SANS Top 25 Most Dangerous Software Errors Common Weakness Scoring System
Common Weakness Risk Analysis Framework
Home > CWE List > CWE- Individual Dictionary Definition (2.1)  

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

 
Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling')
Weakness ID: 444 (Weakness Base)Status: Incomplete
+ Description

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.
+ Time of Introduction
  • Architecture and Design
  • Implementation
+ Applicable Platforms

Languages

All

+ Common Consequences
ScopeEffect
Non-Repudiation
Access Control

Technical Impact: Hide activities; Bypass protection mechanism

+ Observed Examples
ReferenceDescription
CVE-2005-2088Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
CVE-2005-2089Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
CVE-2005-2090Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
CVE-2005-2091Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
CVE-2005-2092Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
CVE-2005-2093Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
CVE-2005-2094Web servers allow request smuggling via inconsistent Transfer-Encoding and Content-Length headers.
+ 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.

+ 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.

+ Relationships
NatureTypeIDNameView(s) this relationship pertains toView(s)
ChildOfWeakness BaseWeakness Base436Interpretation Conflict
Research Concepts (primary)1000
ChildOfCategoryCategory442Web Problems
Development Concepts (primary)699
+ Taxonomy Mappings
Mapped Taxonomy NameNode IDFitMapped Node Name
PLOVERHTTP Request Smuggling
WASC26HTTP Request Smuggling
+ References
Chaim Linhart, Amit Klein, Ronen Heled and Steve Orrin. "HTTP Request Smuggling". <http://www.cgisecurity.com/lib/HTTP-Request-Smuggling.pdf>.
+ Content History
Submissions
Submission DateSubmitterOrganizationSource
PLOVERExternally Mined
Modifications
Modification DateModifierOrganizationSource
2008-07-01Eric DalciCigitalExternal
updated Potential_Mitigations, Time_of_Introduction
2008-09-08CWE Content TeamMITREInternal
updated Name, Relationships, Other_Notes, Taxonomy_Mappings
2009-05-27CWE Content TeamMITREInternal
updated Name, Related_Attack_Patterns
2010-02-16CWE Content TeamMITREInternal
updated Taxonomy_Mappings
2011-06-01CWE Content TeamMITREInternal
updated Common_Consequences
Previous Entry Names
Change DatePrevious Entry Name
2008-04-11HTTP Request Smuggling
2008-09-09Interpretation Conflict in Web Traffic (aka 'HTTP Request Smuggling')
2009-05-27Inconsistent Interpretation of HTTP Requests (aka 'HTTP Request Smuggling')
Page Last Updated: September 12, 2011