Modes d'introduction
Implementation
Plateformes applicables
Langue
Class: Not Language-Specific (Undetermined)
Technologies
Class: Web Based (Undetermined)
Name: Web Server (Undetermined)
Conséquences courantes
| Portée |
Impact |
Probabilité |
Integrity Non-Repudiation Access Control | Unexpected State, Hide Activities, Bypass Protection Mechanism
Note: An attacker could create HTTP messages to exploit a number of weaknesses including 1) the message can trick the web server to associate a URL with another URL's webpage and caching the contents of the webpage (web cache poisoning attack), 2) the message can be structured to bypass the firewall protection mechanisms and gain unauthorized access to a web application, and 3) the message can invoke a script or a page that returns client credentials (similar to a Cross Site Scripting attack). | |
Exemples observés
| Références |
Description |
| SSL/TLS-capable proxy allows HTTP smuggling when used in tandem with HTTP/1.0 services, due to inconsistent interpretation and input sanitization of HTTP messages within the body of another message |
| Chain: caching proxy server has improper input validation (CWE-20) of headers, allowing HTTP response smuggling (CWE-444) using an "LF line ending" |
| Node.js platform allows request smuggling via two Transfer-Encoding headers |
| Web servers allow request smuggling via inconsistent HTTP headers. |
| HTTP server allows request smuggling with both a "Transfer-Encoding: chunked" header and a Content-Length header |
| HTTP server allows request smuggling with both a "Transfer-Encoding: chunked" header and a Content-Length header |
Mesures d’atténuation potentielles
Phases : Implementation
Use a web server that employs a strict HTTP parsing procedure, such as Apache [REF-433].
Phases : Implementation
Use only SSL communication.
Phases : Implementation
Terminate the client session after each request.
Phases : System Configuration
Turn all pages to non-cacheable.
Méthodes de détection
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Notes de cartographie des vulnérabilités
Justification : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Commentaire : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Modèles d'attaque associés
| CAPEC-ID |
Nom du modèle d'attaque |
| CAPEC-273 |
HTTP Response Smuggling
|
| CAPEC-33 |
HTTP Request Smuggling
|
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).
Références
REF-433
HTTP Request Smuggling
Chaim Linhart, Amit Klein, Ronen Heled, Steve Orrin.
https://www.cgisecurity.com/lib/HTTP-Request-Smuggling.pdf REF-1273
HTTP Response Smuggling
Robert Auger.
http://projects.webappsec.org/w/page/13246930/HTTP%20Response%20Smuggling REF-1274
HTTP Request Smuggling: Complete Guide to Attack Types and Prevention
Dzevad Alibegovic.
https://brightsec.com/blog/http-request-smuggling-hrs/ REF-1275
A Pentester's Guide to HTTP Request Smuggling
Busra Demir.
https://www.cobalt.io/blog/a-pentesters-guide-to-http-request-smuggling REF-1276
HTTP Desync Attacks in the Wild and How to Defend Against Them
Edi Kogan, Daniel Kerman.
https://www.imperva.com/blog/archive/http-desync-attacks-and-defence-methods/ REF-1277
HTTP Desync Attacks: Request Smuggling Reborn
James Kettle.
https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn REF-1278
HTTP request smuggling
PortSwigger.
https://portswigger.net/web-security/request-smuggling
Soumission
| Nom |
Organisation |
Date |
Date de publication |
Version |
| PLOVER |
|
2006-07-19 +00:00 |
2006-07-19 +00:00 |
Draft 3 |
Modifications
| Nom |
Organisation |
Date |
Commentaire |
| Eric Dalci |
Cigital |
2008-07-01 +00:00 |
updated Potential_Mitigations, Time_of_Introduction |
| CWE Content Team |
MITRE |
2008-09-08 +00:00 |
updated Name, Relationships, Other_Notes, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2009-05-27 +00:00 |
updated Name, Related_Attack_Patterns |
| CWE Content Team |
MITRE |
2010-02-16 +00:00 |
updated Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
| CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Common_Consequences, Relationships |
| CWE Content Team |
MITRE |
2012-10-30 +00:00 |
updated Demonstrative_Examples, Potential_Mitigations |
| CWE Content Team |
MITRE |
2014-06-23 +00:00 |
updated Other_Notes, Potential_Mitigations, Theoretical_Notes |
| CWE Content Team |
MITRE |
2014-07-30 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2015-12-07 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2017-11-08 +00:00 |
updated Applicable_Platforms |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated Applicable_Platforms, Relationships |
| CWE Content Team |
MITRE |
2021-10-28 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2022-04-28 +00:00 |
updated Related_Attack_Patterns |
| CWE Content Team |
MITRE |
2022-06-28 +00:00 |
Extended the abstraction of this entry to include both HTTP request and response smuggling. |
| CWE Content Team |
MITRE |
2022-06-28 +00:00 |
updated Alternate_Terms, Common_Consequences, Demonstrative_Examples, Description, Name, Observed_Examples, References, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2022-10-13 +00:00 |
updated Related_Attack_Patterns |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated References, Relationships, Time_of_Introduction |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2025-09-09 +00:00 |
updated References |
| CWE Content Team |
MITRE |
2025-12-11 +00:00 |
updated Applicable_Platforms, Detection_Factors, Relationships, Weakness_Ordinalities |