Sicherheitshinweise

Cache-Poisoning durch Ausnutzung verschiedener X-Header

13. August 2018

Zusammenfassung


Am Donnerstag, dem 9. August, wurden auf der „Black Hat USA 2018“-Konferenz Forschungsergebnisse zu Cache-Poisoning-Angriffen auf Websites veröffentlicht, die hinter einer Caching-Infrastruktur betrieben werden [1]. Bei diesen Angriffen konnten Angreifer beliebige Inhalte in den Cache eines Opfers injizieren.


Fastly Servicekonfigurationen, die die Interaktion zwischen Headern, die Backends zur Auswahl von Inhalten verwenden, nicht berücksichtigen, können anfällig sein. Dieses Risiko kann durch einen VCL-Patch oder durch die Änderung von Backend-Konfigurationen komplett abgewehrt werden.


Einzelheiten


Wenn eines oder mehrere Ihrer Backends den Inhalt der X-Forwarded-Host-, X-Rewrite-Url- oder X-Original-Url-HTTP-Anfrage-Header verwendet, um zu entscheiden, für welchen Ihrer Nutzer (oder welche Sicherheitsdomäne) es eine HTTP-Antwort sendet, können Sie von dieser Art von Sicherheitsschwäche betroffen sein. Wenn die Fastly Konfiguration Ihrer Website diesen Header an Ihr Backend weitergibt und den Inhalt dieses Headers nicht in den effektiven Edge-Cache-Schlüssel einbezieht (z. B. explizit oder über denVary-HTTP-Response-Header), könnte ein Angreifer möglicherweise bewirken, dass die Edge eine Antwort mit beliebigem Inhalt in den Cache eines Opfers speichert.


Auswirkungen


Ein Angreifer könnte in der Lage sein, die URL eines Fastly Kunden zu „vergiften“, indem er eine HTTP-Anfrage an die Website sendet, die das betroffene Backend dazu veranlasst, mit einer vom Angreifer kontrollierten Antwort zu reagieren. Das böswillige Antwortobjekt würde im Cache der Website unter einer vergifteten URL gespeichert werden. Ein Angreifer könnte dann möglicherweise den Nutzer der betroffenen Seite dazu verleiten, die vergiftete URL aufzurufen, von der er dann bösartige Inhalte erhalten würde.


Abwehr


Wenn Ihr Origin spezielle Werte verwendet, um Inhalte für Nutzer auszuwählen oder anderweitig zwischen Sicherheitsdomänen zu wählen, empfehlen wir, dass Sie die folgenden Abhilfemaßnahmen in Betracht ziehen:



  • Neukonfiguration Ihres Origin-Servers [2]

  • Einspielen entsprechender Sicherheitsupdates [3] [4] [5]

  • Entfernen oder Normalisieren dieser speziellen Werte in der VCL


Für VCL sollten Sie erwägen, die anfälligen Header auf einen bekannten sicheren Wert zu setzen oder den Header zu deaktivieren. Der X-Forwarded-Host-Header kann mit dem folgenden VCL-Snippet auf den Wert des Host-Headers gesetzt werden:


set req.http.x-forwarded-host = req.http.host;


DerX-Original-URL-Header kann über das folgende VCL-Snippet deaktiviert werden:


unset req.http.x-original-url;


Und dieX-Rewrite-URL kann über den folgenden VCL-Snippet rückgängig gemacht werden:


unset req.http.x-rewrite-url;


Alternativ dazu können diese Werte in Ihren Cache-Schlüssel [6] oder den Vary-Header [7] aufgenommen werden, um das Caching von Inhalten über Sicherheitsdomäne hinweg zu verhindern. Eine Anleitung zur Änderung Ihres Edge-Cache-Schlüssels finden Sie in unserer Dokumentation [6].


Unsere Support-Teams stehen bereit, um Sie bei Fragen oder bei der Implementierung von Abhilfemaßnahmen zu unterstützen, wenn Sie denken, dass Sie aufgrund dieses Sicherheitsvorfalls gefährdet sein könnten.


Fragen richten Sie bitte an:



Verwandte Hinweise und Problemberichte


https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14773


https://hackerone.com/reports/487


Referenz-Links


[1] https://portswigger.net/blog/practical-web-cache-poisoning


[2] https://github.com/rails/rails/issues/29893


[3] https://www.drupal.org/SA-CORE-2018-005


[4] https://symfony.com/cve-2018-14773


[5] https://framework.zend.com/security/advisory/ZF2018-01


[6] https://docs.fastly.com/en/guides/manipulating-the-cache-key


[7] https://www.fastly.com/blog/best-practices-using-vary-header

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.