CyberGlossary

Schwachstellen

HTTP Response Splitting

Auch bekannt als: HTTP-CRLF-Injection, HTTP-Header-Injection

Definition

Injection-Schwachstelle, bei der nicht vertraute CR/LF-Zeichen in Benutzereingaben den Server zwingen, zusätzliche, vom Angreifer kontrollierte HTTP-Antworten auszuliefern.

HTTP Response Splitting (CRLF-Injection) tritt auf, wenn eine Anwendung Benutzereingaben in Response-Header — typischerweise Location, Set-Cookie oder eigene Header — übernimmt, ohne Carriage-Return- und Line-Feed-Bytes zu filtern. Durch Einschleusen von %0d%0a beendet der Angreifer den Header-Block und fügt eigene Header, Statuszeilen oder gar eine zweite Response ein. Folgen sind Cache Poisoning, XSS, Session Fixation und Credential Disclosure an Zwischenkomponenten. CWE-113 und CVE-2004-0500 zeigten die Wirkung. Schutz: CR/LF in Header-Werten ablehnen oder escapen, Frameworks nutzen, die Newlines in Header-APIs verbieten, Redirect-Helper bevorzugen, die Eingaben URL-encoden.

Beispiele

  • Setzen eines Location-Headers aus einem Benutzerparameter, der %0d%0a enthält, um Set-Cookie einzuschleusen.
  • Aufspalten einer Response, sodass der Cache für /home einen angreiferkontrollierten Body speichert.

Verwandte Begriffe