1 Punkte von GN⁺ 2024-10-18 | 1 Kommentare | Auf WhatsApp teilen

Einführung

  • Dieser Blogbeitrag beschreibt den Prozess, mit dem die Schwachstellen CVE-2024-6778 und CVE-2024-5836 im Chromium-Webbrowser entdeckt wurden.
  • Diese Schwachstellen ermöglichen es, über Browser-Erweiterungen aus der Sandbox auszubrechen.
  • Google zahlte für diesen Bugreport 20.000 $.

WebUIs und die Chrome-Sandbox

  • Chromium führt nicht vertrauenswürdigen Code in einer Sandbox-Umgebung aus und erlaubt nur eingeschränkte Interaktionen.
  • WebUI wird verwendet, um die GUI von Chromium anzuzeigen, und verfügt über Berechtigungen für den Zugriff auf bestimmte interne APIs.
  • Code, der auf WebUI-Seiten ausgeführt wird, kann die Sandbox umgehen, was von Angreifern ausgenutzt werden kann.

Enterprise-Richtlinien

  • Das Enterprise-Richtliniensystem von Chromium dient dazu, bestimmte Einstellungen auf Geräten von Unternehmen oder Schulen verbindlich durchzusetzen.
  • Benutzerrichtlinien gelten für bestimmte Benutzer oder Browser-Instanzen und können lokal gesetzt werden.

Richtlinien-WebUI

  • Chromium verfügt über eine WebUI, in der die aktuell auf dem Gerät angewendeten Richtlinien angezeigt werden können.
  • Auf dieser Seite existiert eine inoffizielle Funktion zum Bearbeiten von Richtlinien.

Ausnutzung der Richtlinien-Testseite

  • In den Release Notes von Chrome v117 wurde ein Hinweis auf die Richtlinien-Testseite entdeckt.
  • Diese Seite bietet eine inoffizielle Möglichkeit, Richtlinien zu setzen.

Sandbox-Escape

  • Die Funktion zum Setzen beliebiger Benutzerrichtlinien kann ausgenutzt werden, um aus der Sandbox auszubrechen.
  • Mit der Browser-Switcher-Funktion lassen sich beliebige Shell-Befehle ausführen.

Missbrauch der DevTools-API

  • Es wurde ein Weg gefunden, mit einer bösartigen Chrome-Erweiterung JS auf der Seite chrome://policy automatisch auszuführen.
  • Mit der API chrome.devtools.inspectedWindow.reload() lässt sich Code auf einer WebUI-Seite ausführen.

Fazit

  • Dies zeigt, wie sich einfache Fehler überlagern und zu einer Schwachstelle mit hoher Schwere führen können.
  • Alter Code ist nicht automatisch sicher, und die Möglichkeit ähnlicher Bugs sollte immer berücksichtigt werden.

GN⁺-Zusammenfassung

  • Dieser Blogbeitrag erklärt detailliert, wie Schwachstellen in Chromium entdeckt und gemeldet wurden.
  • Die Schwachstellen ermöglichen einen Sandbox-Escape über Browser-Erweiterungen und brachten eine Belohnung von 20.000 $ von Google ein.
  • Der Beitrag bietet nützliche Informationen für Sicherheitsforscher oder Softwareingenieure und vermittelt Lehren zur Vermeidung ähnlicher Schwachstellen.
  • Als anderes Projekt mit ähnlichen Funktionen kann man die Sicherheitsfunktionen von Firefox empfehlen.

1 Kommentare

 
GN⁺ 2024-10-18
Hacker-News-Kommentare
  • Erinnert an die Erfahrung, beim Debuggen der crosh-Shell von Chrome OS dieselbe API genutzt zu haben, um die OS-Schutzmechanismen zu umgehen und Root-Zugriff zu erlangen. Der Autor dieses Beitrags hat noch schwierigere Hürden überwunden. Großartige Arbeit.

  • Um zu verhindern, dass die Seiten-URL durch ${url} ersetzt wird, kann man sie hinter # setzen und so zu einem Kommentar machen. Ich frage mich, ob es eine Validierungslogik dafür gibt, ob eine URL an AlternativeBrowserParameters übergeben werden soll.

  • Großartiger Artikel und tolle Arbeit. Man konnte die Aufregung des Entdeckungsprozesses direkt mitfühlen. Verdiente Belohnung.

  • Tolle Vulnerability-Chain und ein hervorragender Artikel. Auch die Analyse des verwundbaren Codes war stark. Ich bin immer beeindruckt von einfachen Tricks wie „Drücken Sie F12, um es erneut zu versuchen“.

  • Es ist zu spät, um mich noch tief in die Probleme der WebUI-Validierung einzugraben, aber Anerkennung an die Person, die das gelöst hat. Normalerweise misstrauen wir Toolchains und hinterfragen sie, wenn es um Dinge geht, die wir selbst ausliefern, gleichzeitig vertrauen wir aber den bequemen Entwickler-Tools großer Unternehmen wie Google oder MS zu sehr. Vor allem, weil wir uns meist darauf konzentrieren wollen, unseren eigenen Code zu schreiben und zu testen.

  • Wirklich eines der besten Dinge, die ich je gelesen habe. Sehr clevere Detektivarbeit.

  • Es heißt, dass Allen ein Highschool-Schüler ist, der sich für Programmierung, Webentwicklung und Cybersicherheit interessiert. Sehr beeindruckend.

  • Das Chromium-Projekt hat beschlossen, chrome://net-internals zu entfernen, weil die Seite zu komplex sei. Und dann wurde chrome://policy hinzugefügt, mit unvollständiger Unterstützung für die Bearbeitung von JSON.

  • Ein wirklich großartiger Artikel, der sich wie ein Thriller las. Eine hervorragende Vulnerability-Chain.