Glossary · Security

HTTP Request Smuggling

HTTP request smuggling exploits disagreements between a front-end proxy and back-end server about where one request ends and the next begins.

Updated October 28, 2026

HTTP request smuggling is an attack that abuses inconsistent parsing of message boundaries between two HTTP processors, typically a reverse proxy or CDN and an origin server. The attacker sends an ambiguous request so the proxy sees one request while the backend sees two, "smuggling" a hidden request into another user's connection.

Why it matters

The ambiguity usually comes from the Content-Length and Transfer-Encoding: chunked headers, or from HTTP/2 to HTTP/1.1 downgrades. Impact can include bypassing front-end access controls, poisoning caches, capturing other users' requests and delivering reflected attacks without any user click. It is hard to detect because everything looks like valid HTTP to each component alone.

Mitigations include keeping proxies and servers patched, rejecting requests that contain both headers, normalizing at the edge, and using HTTP/2 end to end where possible.

Example

A classic ambiguous shape, simplified:

POST / HTTP/1.1
Host: example.com
Content-Length: 13
Transfer-Encoding: chunked

0

SMUGGLED

If the front end honors Content-Length and the back end honors Transfer-Encoding, SMUGGLED becomes the start of the next request.

Common mistakes

  • Running mismatched proxy and origin software without testing the combination.
  • Assuming a WAF will catch malformed framing.
  • Leaving upstream connection reuse enabled without strict parsing.

Get notified when this term updates

Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.

This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.