CyberGlossary

Vulnérabilités

HTTP Response Splitting

Aussi appelé: Injection CRLF HTTP, Injection d'en-têtes HTTP

Définition

Vulnérabilité d'injection où des caractères CR/LF non fiables dans une entrée utilisateur forcent le serveur à émettre des réponses HTTP supplémentaires contrôlées par l'attaquant.

Le HTTP response splitting (injection CRLF) survient lorsqu'une application reflète l'entrée utilisateur dans des en-têtes de réponse — typiquement Location, Set-Cookie ou des en-têtes personnalisés — sans filtrer les retours chariot et sauts de ligne. En injectant %0d%0a, l'attaquant termine le bloc d'en-têtes original et insère des en-têtes, une ligne de statut, voire une seconde réponse complète. Conséquences : empoisonnement de cache, XSS, fixation de session, fuite d'identifiants vers les intermédiaires. CWE-113 et CVE-2004-0500 sont les divulgations historiques. Mitigations : rejeter ou échapper CR/LF dans les valeurs d'en-tête, utiliser des frameworks qui interdisent l'injection de nouvelles lignes, préférer les helpers de redirection qui URL-encodent leurs entrées.

Exemples

  • Définir un en-tête Location à partir d'un paramètre contenant %0d%0a pour injecter Set-Cookie.
  • Scinder une réponse pour qu'un cache stocke un corps contrôlé par l'attaquant pour /home.

Termes liés