Academy

Module 14 Β· HTTP Request Smuggling πŸ”’

Manish Garg
Manish Garg Associate CISSP Β· RingSafe
April 22, 2026
4 min read

HTTP Request Smuggling is a vulnerability class that occurs when frontend and backend HTTP servers disagree on where one request ends and the next begins. It enables cache poisoning, request hijacking, authentication bypass, and credential theft β€” all from a single carefully-crafted request. James Kettle’s research (2019, with major follow-ups in 2021-2024) put smuggling on the offensive map. This module covers the variants, exploitation patterns, and defenses for 2026.

The fundamental issue

HTTP/1.1 has two ways to indicate the end of a request body:

  • Content-Length: 100 β€” body is exactly 100 bytes
  • Transfer-Encoding: chunked β€” body is a series of length-prefixed chunks ending with 0\r\n\r\n

If a request has both, RFC 7230 says Transfer-Encoding wins. But many proxies and servers parse one and ignore the other β€” or have subtle bugs in chunked parsing. When the front-end and back-end disagree, an attacker can sneak a partial request past the front-end into the back-end’s queue.

The classic variants

CL.TE β€” front uses Content-Length, back uses Transfer-Encoding

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

0

SMUGGLED

Front-end sees CL=13, forwards 13 bytes (0\r\n\r\nSMUGGLED). Back-end sees TE=chunked, reads 0\r\n\r\n as end-of-body, leaves “SMUGGLED” prefixing the next request in the connection.

πŸ” Advanced Module Β· Pro Tier

Continue reading with Pro tier (β‚Ή4,999/year)

You've read 29% of this module. Unlock the remaining deep-dive, quiz, and every other Advanced/Expert module.

136+ modulesAll levels up to this tier
20-question quizzesUnlimited retries with explanations
Completion certificatesShareable on LinkedIn
7 more sections locked below