Dark Mode
Capec-273 Detail
HTTP Response Smuggling
Detailed Communications Software Likelihood: Medium Typical Severity: High
Parents: 220
Threats: T294
| External ID | Source | Link | Description |
|---|---|---|---|
| CAPEC-273 | capec | https://capec.mitre.org/data/definitions/273.html | |
| CWE-74 | cwe | http://cwe.mitre.org/data/definitions/74.html | |
| CWE-436 | cwe | http://cwe.mitre.org/data/definitions/436.html | |
| CWE-444 | cwe | http://cwe.mitre.org/data/definitions/444.html | |
| 27 | WASC | http://projects.webappsec.org/HTTP-Response-Smuggling | HTTP Response Smuggling |
| REF-38 | reference_from_CAPEC | http://www.ietf.org/rfc/rfc2616.txt | HTTP 1.1 Specification (RFC 2616), IETF RFC |
| REF-117 | reference_from_CAPEC | http://www.securiteam.com/securityreviews/5CP0L0AHPC.html | HTTP Response Smuggling, Beyond Security |
| REF-675 | reference_from_CAPEC | http://projects.webappsec.org/w/page/13246930/HTTP%20Response%20Smuggling | Robert Auger, HTTP Response Smuggling, 2011--02, The Web Application Security Consortium |
| REF-676 | reference_from_CAPEC | https://www.mozilla.org/en-US/security/advisories/mfsa2006-33/ | Kazuho Oku, Mozilla Foundation Security Advisory 2006-33 HTTP response smuggling, 2006--06---01, Mozilla Corporation |
| REF-677 | reference_from_CAPEC | https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/15-Testing_for_HTTP_Splitting_Smuggling.html | Testing for HTTP Splitting Smuggling, Open Web Application Security Project |
| REF-678 | reference_from_CAPEC | https://www.imperva.com/blog/http-desync-attacks-and-defence-methods/ | Edi Kogan, Daniel Kerman, HTTP Desync Attacks in the Wild and How to Defend Against Them, 2019--10---29, Imperva |
Explore
-
Survey network to identify target: The adversary performs network reconnaissance by monitoring relevant traffic to identify the network path and parsing of the HTTP messages with the goal of identifying potential targets.
| Techniques |
|---|
| Scan networks to fingerprint HTTP infrastructure and monitor HTTP traffic to identify HTTP network path with a tool such as a Network Protocol Analyzer. |
Experiment
-
Identify vulnerabilities in targeted HTTP infrastructure and technologies: The adversary sends a variety of benign/ambiguous HTTP requests to observe responses from HTTP infrastructure to intended targets in order to identify differences/discrepancies in the interpretation and parsing of HTTP requests by examining supported HTTP protocol versions, message sizes, and HTTP headers.
-
Cause differential HTTP responses by experimenting with identified HTTP Response vulnerabilities: The adversary sends maliciously crafted HTTP request to back-end HTTP infrastructure to inject adversary data into HTTP responses (intended for intermediary and/or front-end client/victim HTTP agents communicating with back-end HTTP infrastructure) for the purpose of interfering with the parsing of HTTP response. The intended consequences of the malicious HTTP request and the subsequent adversary injection and manipulation of HTTP responses will be observed to confirm applicability of identified vulnerabilities in the adversary's plan of attack.
| Techniques |
|---|
| Continue the monitoring of HTTP traffic. |
|
|
|
|
| Monitor HTTP traffic using a tool such as a Network Protocol Analyzer. |
Exploit
-
Perform HTTP Response Smuggling attack: Using knowledge discovered in the experiment section above, smuggle a message to cause one of the consequences.
| Techniques |
|---|
| Leverage techniques identified in the Experiment Phase. |
- A vulnerable or compromised server or domain/site capable of allowing adversary to insert/inject malicious content that will appear in the server's response to target HTTP agents (e.g., proxies and users' web browsers).
- Differences in the way the two HTTP agents parse and interpret HTTP responses and its headers.
- HTTP agents running on HTTP/1.1 that allow for Keep Alive mode, Pipelined queries, and Chunked queries and responses.
- Tools capable of monitoring HTTP messages, and crafting malicious HTTP messages and/or injecting malicious content into HTTP messages.
| Medium |
|---|
| Possess knowledge on the exact details in the discrepancies between several targeted HTTP agents in path of an HTTP message in parsing its message structure and individual headers. |
| Integrity | Availability | Authorization | Access Control | Confidentiality |
|---|---|---|---|---|
| Execute Unauthorized Commands | Execute Unauthorized Commands | Gain Privileges | Gain Privileges | Execute Unauthorized Commands |
| Modify Data | Gain Privileges |
- When using Undertow, a Java-based web server in Red Hat's Jboss Enterprise Application Platform version 7.0, the code responsible for parsing HTTP requests permitted invalid characters, that could allow the injection of data into HTTP responses from Undertow to clients when used in tandem with a proxy; allowing for web-cache poisoning, XSS, and confidentiality violation of sensitive information from other HTTP requests sent to Undertow. See also: CVE-2017-2666
- Mozilla Firefox and Thunderbird before 1.5.04, with various proxy servers, interpreted HTTP responses differently if HTTP response headers included a space between the header name and colon or if HTTP 1.1 headers were sent through a proxy configured with HTTP 1.0, allowing for HTTP Smuggling vulnerability. See also: CVE-2006-2786