HTTP request smuggling¶

HTTP request smuggling is a technique for interfering with the way a web site processes sequences of HTTP requests that are received from one or more users.
HTTP request smuggling remains a critical threat, especially in modern architectures (reverse proxies, CDNs, microservices). Its prevalence is moderate but high-impact when exploited. It can lead to bypassing security controls (WAFs, authentication), hijacking sessions (steal Cookie/Authorization headers), cache poisoning (serving malicious content to users), and credential theft (via smuggled requests to internal APIs).
It is still relevant because more layers (load balancers, API gateways, WAFs) increase parsing inconsistencies, and many servers still mishandle Content-Length vs. Transfer-Encoding conflicts and chunked encoding quirks. And, serverless (AWS Lambda, Cloudflare Workers) introduces new smuggling vectors.
Testing for HTTP Request Smuggling is worth it if the app uses reverse proxies (Nginx, HAProxy, Cloudflare), you notice inconsistent behaviour between frontend/backend servers, and/or the system handles sensitive data (auth headers, APIs, payment flows).
Prioritize testing in apps behind proxies/CDNs and systems with strict security boundaries (e.g., cloud environments):
- HTTP request smuggling, basic CL.TE vulnerability
- HTTP request smuggling, basic TE.CL vulnerability
- HTTP request smuggling, obfuscating the TE header
- HTTP request smuggling, confirming a CL.TE vulnerability via differential responses
- HTTP request smuggling, confirming a TE.CL vulnerability via differential responses
- Exploiting HTTP request smuggling to bypass front-end security controls, CL.TE vulnerability
- Exploiting HTTP request smuggling to bypass front-end security controls, TE.CL vulnerability
- Exploiting HTTP request smuggling to reveal front-end request rewriting
- Exploiting HTTP request smuggling to capture other users’ requests
- Exploiting HTTP request smuggling to deliver reflected XSS
- Response queue poisoning via H2.TE request smuggling
- H2.CL request smuggling
- HTTP/2 request smuggling via CRLF injection
- HTTP/2 request splitting via CRLF injection
- CL.0 request smuggling
- Exploiting HTTP request smuggling to perform web cache poisoning
- Exploiting HTTP request smuggling to perform web cache deception
- Bypassing access controls via HTTP/2 request tunnelling
- Web cache poisoning via HTTP/2 request tunnelling
- Client-side desync
- Browser cache poisoning via client-side desync
- Server-side pause-based request smuggling