HTTP request smuggling / desynchronization
Two HTTP-processing components disagree about request boundaries or parsing.
Candidate CWE: CWE-444
Test hypothesis#
Use an isolated front-end/backend pool. Capture normal paired traffic, introduce one lab framing discrepancy, and compare each layer’s parsed request count and boundaries with rejection controls.
Evidence required#
Logs or byte traces demonstrate the mismatch and a controlled security consequence. Distinguish HTTP/1 framing from HTTP/2 translation; all follow-up requests must be yours.
Rule out false positives#
A timeout, 400/502, unsupported Transfer-Encoding, or a tool-normalized malformed request alone does not demonstrate desynchronization.
Playbook and command references#
- Proxy normalization, cache isolation, and request boundaries — Investigate layered HTTP behavior with isolated cache keys and controlled front-end/back-end traffic.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the mapping guide.