CL.0
Overview
CL.0 describes a front-end that honors a request's Content-Length while the
back-end treats the request as bodyless. The body can then be parsed as a new
request by the back-end, leaving the front-end and back-end response queues out
of sync.
Detection
The cl-0 check is opt-in because it deliberately reuses one connection:
- A direct follow-up request establishes the expected baseline response.
- A control setup request and follow-up are sent over one persistent connection.
- A setup request whose body contains a harmless inner
GETand the same follow-up are sent over a fresh persistent connection. - The control's follow-up response must match the direct baseline, while the attack's follow-up response must differ.
- The response-queue shift must reproduce twice after the initial candidate.
Status and meaningful body-size shifts are recorded as evidence. A timeout or a single connection anomaly is not enough to report a vulnerability.
smugglex --checks cl-0 https://target.example
smugglex --checks cl-0 --max-payloads 1 https://target.example
Use this check only against systems you are authorized to test. Because it uses stateful connections, run it separately when a target has sensitive persistent sessions or shared back-end connection pools.