Sicherheitshinweise

Fastly Sicherheitshinweis: Cache-Poisoning-Schwachstelle durch Ausnutzung des X-Forwarded-Host-Headers

5. August 2020

Einsatzbereich


Diese Schwachstelle ist eine Variante einer bereits früher gemeldeten Schwachstelle und letztlich das Ergebnis der Zusammensetzung von cachefähigen Origin-Antworten auf der Basis von nutzerdefinierten Daten. Das Problem tritt auf, wenn ein Angreifer eine HTTPS-Anfrage stellt und im Host-Header eine Portnummer angibt, die eigentlich für keine Services verwendet wird. Es ist möglich, eine Ressource so zu cachen, dass zukünftige Requests nicht mehr korrekt bearbeitet werden können.


Diese Schwachstelle betrifft Kunden, deren Service die beiden folgenden Kriterien erfüllt:




  • Der Origin-Server verwendet die vollständigen X-Forwarded-Host-Header-Informationen (einschließlich Portnummer), um eine Umleitungsantwort an den Client zu erstellen; und




  • Ihr Fastly Service ist so konfiguriert, dass die Umleitungsantwort vom Origin-Server zwischengespeichert wird.




Zusammenfassung


Fastly wurde am 21. Mai 2020 um 13:30 Uhr UTC über das Problem informiert. Fastly hat daraufhin sofort eine Untersuchung eingeleitet und identifiziert, welche Origin-Server mit einer Testportnummer in der Redirect-Antwort antworteten, um nach der Schwachstelle und möglichen Lösungen zu suchen. Nach der Untersuchung benachrichtigte Fastly potenziell betroffene Kunden erstmals am 15. Juli 2020 um 04:30 Uhr UTC.


Auswirkungen


Wenn die Schwachstelle ausgenutzt worden wäre, hätte der betroffene Service seinen Kunden keine zielgerichteten Inhalte zur Verfügung stellen können.
Ein Angreifer erstellt beispielsweise eine Anfrage an einen Service, der von Fastly betrieben wird, wobei der Host-Header einen geschlossenen Port enthält:


Angreifer-Anfrage:


GET / HTTP/1.1
Host: www.example.com:10000

Fastly Anfrage an den Origin-Server:


GET / HTTP/1.1
Host: www.example.com
X-Forwarded-Host: www.example.com:10000

Origin + Fastly Umleitungs-Antwort:


HTTP/1.1 302 Found
Location: https://www.example.com:10000/en
X-Cache: MISS, MISS

Wenn Fastly die Antwort dann cacht, werden nachfolgende gültige Anfragen an die zwischengespeicherte Ressource an den geschlossenen Port umgeleitet und verfallen:


Opfer-Anfrage + Antwort:


GET / HTTP/1.1
Host: www.example.com

HTTP/1.1 302 Found
Location: https://www.example.com:10000/en
X-Cache: MISS, HIT

Abhilfemaßnahmen


Seit dem 4. August hat Fastly in Varnish einen Fix implementiert, der einen Status-Code 421 „Fehlgeleitete Anfrage“ zurückschickt, wenn der Host-Header der Anfrage eine Portnummer angibt, auf der die Anfrage nicht empfangen wurde.
Weitere Informationen
[1] Zusammenfassung: https://www.blackhat.com/us-20/briefings/schedule/index.html#web-cache-entanglement-novel-pathways-to-poisoning-19712

[2] Whitepaper: https://portswigger.net/research/web-cache-entanglement-novel-pathways-to-poisoning


Ereignis-Timing


21. Mai 2020 13:30 Uhr UTC – Meldung vom externen Sicherheitsforscher erhalten. Das Fastly Sicherheitsteam leitet bei Erhalt dieser Meldung eine Untersuchung ein.
5. Juni 2020 – Fastly hat mit der Sondierung begonnen, um eine Lösung zu finden, die die Origin-Server der Kunden vor Anfragen schützt, die dieses Verhalten aufweisen.
18. Juni 2020 – Abschluss der internen Untersuchung und Beginn der Bewertungen für Abhilfemaßnahmen und Empfehlungen für die identifizierten potenziell betroffenen Kunden.


15. Juli 2020, 04:30 Uhr UTC – Kunden, die potenziell von diesem Problem betroffen sein können, wurden kontaktiert.



  1. bis 31. Juli 2020 – Durchführung zusätzlicher Tests und verbesserte Protokollierung von Anfragen, die Merkmale dieser Schwachstelle aufweisen.


3. August 2020 08:00 Uhr – 4. August 2020 23:00 Uhr UTC – Bereitstellung der Schwachstellenbehebung im Fastly Netzwerk, um alle Origin-Server der Kunden zu schützen


Kontaktinformationen


Sollten Sie weitere Fragen haben, wenden Sie sich bitte an Fastly Customer Engineering unter support@fastly.com oder an das Fastly Sicherheitsteam unter security@fastly.com.

Melden Sie sich für die Sicherheitshinweise an.

Mit der Übermittlung Ihrer Anfrage erklären Sie sich damit einverstanden, dass Ihre personenbezogenen Daten zur Verarbeitung gemäß unserer Datenschutzrichtlinie an Fastly in den USA übermittelt werden.

Sie möchten loslegen?

Setzen Sie sich mit uns in Verbindung oder erstellen Sie einen Account.