La desincronizzazione HTTP è una falla di parsing in cui due o più componenti HTTP non concordano su dove termina una richiesta e inizia la successiva. Un proxy front-end, una cache, un bilanciatore del carico o un server backend possono interpretare gli stessi byte in modo diverso a causa di regole in conflitto per le intestazioni, la lunghezza del contenuto, la codifica chunked o richieste malformate.
Questo è importante perché il disaccordo può essere trasformato in request smuggling, poisoning della cache o confusione del traffico. Un attaccante può nascondere una seconda richiesta all'interno di ciò che un altro componente considera un singolo messaggio, inducendo un sistema a inoltrare o memorizzare nella cache dati che un altro non aveva mai intenzione di elaborare. I difensori lo cercano testando la gestione delle richieste attraverso ogni hop, confrontando il comportamento dei parser e rifiutando l'incapsulamento ambiguo. Una normalizzazione coerente e una convalida rigorosa del protocollo sono controlli chiave.


