Cloudflare Containers Storage Bug legte Daten früherer Mieter offen

Cloudflare Containers Storage Bug legte Daten früherer Mieter offen

Cloudflare hat einen Fehler im Containers-Dienst behoben, der es einem zahlenden Kunden ermöglichte, übrig gebliebene Festplattendaten aus dem gelöschten Container eines anderen Kontos zu lesen; für Kunden besteht kein Handlungsbedarf.

Cloudflare hat einen Fehler im Cloudflare-Containers-Dienst behoben, der es einem zahlenden Kunden ermöglichte, übrig gebliebene Festplattendaten zu lesen, die von Containern anderer Kunden auf demselben gemeinsam genutzten Server zurückgelassen wurden. Das Unternehmen und der Forscher, der das Problem entdeckt hat, Oren Yomtov vom Sicherheitsunternehmen Accomplish, haben das Problem am Donnerstag offengelegt. Cloudflare sagt, die Daten stammten nur von Festplattenspeicher, den frühere Container genutzt und freigegeben hatten, nicht von einer laufenden Arbeitslast, und ein Angreifer konnte nicht wählen, wessen Daten er erhielt. Das Unternehmen hat den Fix für seinen Dienst ausgerollt, sodass Kunden keine Maßnahmen ergreifen müssen.

Cloudflare Containers führt die Programme der Kunden in isolierten Containern auf Servern aus, die von vielen Konten gemeinsam genutzt werden, wobei Cloudflare auswählt, auf welchem Server eine Arbeitslast landet. Cloudflare Sandboxes, das auf Containers aufsetzt und als sicherer Ort für die Ausführung nicht vertrauenswürdigen Codes beworben wird, einschließlich von KI-Agenten geschriebenem Code, war ebenfalls betroffen. Der Fehler wurde am 4. September über Cloudflares Bug-Bounty-Programm gemeldet. Die Grundursache lag in der Konfiguration der gemeinsam genutzten Festplatten. Jeder Container erhält eine Festplatte, die mit einer Linux-Speicherfunktion namens Thin Provisioning erstellt wird, die Speicherplatz in festen 64-Kilobyte-Blöcken vergibt. Wenn ein Container gelöscht wurde, kehrten seine Blöcke in einen gemeinsamen Pool zurück, der allen Kundenkonten zur Verfügung stand. Dieser Pool war so eingestellt, dass das Löschen eines Blocks vor der Weitergabe an den nächsten Container übersprungen wurde, obwohl das Löschen normalerweise die Standardeinstellung ist. Wenn ein neuer Container also nur eine kleine Datenmenge in einen wiederverwendeten Block schrieb, enthielt der Rest des Blocks weiterhin die Daten des vorherigen Containers.

Um den Fehler zu beweisen, schrieben die Forscher einen kleinen Vier-Kilobyte-Block in ungenutzten Speicherplatz und lasen dann den gesamten 64-Kilobyte-Block auf der Rohdatenträgerebene zurück, was Daten zeigt, bevor Dateisystemregeln sie verbergen. Die 60 Kilobyte, die sie nicht geschrieben hatten, enthielten noch Bytes von einem vorherigen Container. In Produktionstests fanden sie bei 18 von 24 Versuchen übrig gebliebenes Material, jeweils auf einem von Cloudflare ausgewählten Server, und auf 20 von 22 zugrunde liegenden Maschinen auf vier Kontinenten. Cloudflare sagte, die wiederhergestellten Blöcke enthielten Verzeichnisstrukturen, Datenbankseiten und strukturell vollständige eingebettete Datenbankdateien, ein weit verbreitetes Datenbankformat, das in vielen Anwendungen enthalten ist. Die eigene Ausarbeitung der Forscher fügte Verzeichnislisten, Chromium-Browserprofile, .env-Dateien (Textdateien, die oft Umgebungsvariablen und Geheimnisse enthalten) und Anmeldeinformationsdateien hinzu und beschrieb sie als Dateien anderer Kunden. Die Forscher sagten, ihre Analysescripts hätten nur Zählungen und Formatprüfungen erzeugt, keine Dateiinhalte, und das Material, das sie an Cloudflare sandten, habe keine Namen Dritter, Identifikatoren, Anmeldeinformationen oder wiederhergestellte Inhalte enthalten. Sie bestätigten auch, dass die wiederhergestellten Daten privat gehalten und nach der Übermittlung sicher gelöscht wurden. Die Forscher zeigten nicht, dass der Fehler die Live-Daten eines anderen Kunden ändern oder eine Arbeitslast offline nehmen konnte.

Cloudflare behob den Fehler in zwei Schritten. Zuerst wurde das Löschen für neu ausgegebene Blöcke wieder aktiviert, was die gemeldete Methode stoppte; die Forscher bestätigten am 14. September, dass ihr Proof of Concept, ein kleines Testprogramm, das den Fehler demonstriert, nicht mehr funktionierte. Diese Änderung bereinigte jedoch keine Blöcke, die bereits in laufende Container-Festplatten oder in den Cache vorbereiteter Image-Layer jedes Servers eingebunden waren, die ein neuer Container erben und lesen konnte. Daher hat Cloudflare auch jede laufende Container-Festplatte außer Betrieb genommen und diese Caches geleert, wobei Server in ruhigen Stunden entleert und neu gestartet wurden. Die Bereinigung wurde am 19. September abgeschlossen, und Cloudflare gab den Fehler fünf Tage später bekannt.

Cloudflare sagte, es habe nach Anzeichen gesucht, dass jemand anderes die Methode verwendet hat. Das Unternehmen erstellte Erkennungssignaturen aus dem Proof of Concept der Forscher und aus seiner eigenen Kopie des Angriffs und ließ sie gegen die aufgezeichneten Festplattenaktivitätsdaten laufen. Es fand nur autorisierte Tests der Forscher und seiner eigenen Ingenieure und sagte, es gebe keine Beweise dafür, dass diese spezifische Methode von jemand anderem verwendet wurde. Dieser Befund deckt die von Cloudflare aufbewahrten Aufzeichnungen ab, aber das Unternehmen gab weder den Zeitraum dieser Aufzeichnungen noch an, wann die unsichere Einstellung erstmals vorgenommen wurde, sodass aus seiner Darstellung nicht klar hervorgeht, wie lange die Exposition dauerte. Unabhängig davon sagten die Forscher, dass dieselbe Festplattenkonfiguration auch Cloudflares Browser-Run-Produkt betraf, aber Cloudflares Beitrag nannte nur Containers und Sandboxes als betroffen und erwähnte Browser Run nicht. Die Forscher beschrieben den Fehler als ihren sechsten Ausbruch aus einer Code-Sandbox, der seit Juli veröffentlicht wurde, nach früheren Funden in Anthropics Claude Cowork und Claude Code, Cursors Kommandozeilen-Tool, Docker und OpenAIs Codex.

Für Website-Betreiber und IT-Teams ist der Vorfall eine Erinnerung daran, dass gemeinsam genutzte Infrastruktur eine strikte Speicherisolation und -bereinigung erfordert. Wenn ein Anbieter Festplattenspeicher ohne Löschung wiederverwendet, können alte Dateien oder Anmeldeinformationen eines Kunden für den nächsten Mieter lesbar werden. Für Organisationen, die Websites oder Anwendungen in gemeinsam genutzten Umgebungen betreiben, ist diese Festplattenhygiene wichtig; AEU Hosting bietet verwaltetes WordPress-Hosting, das Ende-zu-Ende abgesichert ist, sodass Kunden einen Anbieter direkt fragen können, wie er Speicher zwischen Mietern isoliert und löscht, bevor sie sensible Daten auf gemeinsam genutzter Infrastruktur platzieren.

So schützen Sie sich

  1. Wenn Sie Cloudflare Containers oder Sandboxes verwenden, müssen Sie für diesen Fix nichts tun, aber prüfen Sie Cloudflares Hinweis, um zu bestätigen, dass der Dienst aktualisiert ist.
  2. Wenn Sie selbst Container oder gemeinsam genutzte Server betreiben, aktivieren Sie die Einstellung, die freigegebenen Festplattenspeicher löscht, bevor er wiederverwendet wird, damit alte Daten nicht vom nächsten Mieter gelesen werden könne
  3. Vermeiden Sie es, sensible Dateien wie Dateien mit Passwörtern oder Konfigurationswerten in Wegwerf-Containern oder gemeinsam genutzten Sandboxes abzulegen; bewahren Sie Geheimnisse stattdessen in einem dedizierten Secrets Manager auf.
  4. Fragen Sie Ihren Hosting- oder Cloud-Anbieter, wie er Speicher zwischen verschiedenen Kunden isoliert und löscht, bevor Sie sensible Daten auf gemeinsam genutzter Infrastruktur speichern.
  5. Wenn Sie eine Code-Sandbox für KI-generierten Code verwenden, behandeln Sie sie als nicht vertrauenswürdig und vermeiden Sie es, echte Anmeldeinformationen oder private Daten in derselben Umgebung zu speichern.

Begriffe Erklärt

  • container Ein leichter, isolierter Ort, an dem ein Programm läuft und sich den Server mit anderen Kunden teilt.
  • thin provisioning Eine Speicherfunktion, die Festplattenspeicher nur bei Bedarf in kleinen Stücken vergibt, anstatt die volle Menge im Voraus zu reservieren.
  • 64-kilobyte block Eine Festplatteneinheit fester Größe; in diesem Fall das kleinste Stück, das Cloudflare zwischen Containern wiederverwendete.
  • raw disk Die Low-Level-Ansicht des Speichers, bei der Sie genau lesen können, was geschrieben wurde, bevor Dateisystemregeln es verbergen.
  • bug bounty Ein Belohnungsprogramm, bei dem ein Unternehmen externen Forschern für die Meldung von Sicherheitsschwachstellen zahlt.
  • sandbox Eine sichere Umgebung, die dafür ausgelegt ist, nicht vertrauenswürdigen Code auszuführen, ohne den Rest des Systems zu beeinträchtigen.
  • image layer Eine zwischengespeicherte Kopie der Startdateien eines Containers, die neue Container erben und die übrig gebliebene Daten enthalten kann, wenn sie nicht bereinigt wird.
  • proof of concept Ein kleines Testprogramm, das zeigt, dass eine Sicherheitslücke tatsächlich funktioniert.

Verwandte AEU-Dienste

  • AEU Data Cloud- und Dateninfrastruktur