Fire Scrolling – als selbst Scrollen zur Sicherheitslücke wurde

Im Jahr 2005 machte mit Firescrolling eine besonders ungewöhnliche Sicherheitslücke in Firefox Schlagzeilen. Anders als klassische Angriffe nutzte sie keine fehlerhaften Passwörter oder manipulierte Downloads, sondern eine alltägliche Handlung: das Bewegen der Scrollleiste.

Ein einfacher Scrollvorgang konnte ausreichen, um fremden Code im Browser auszuführen. Unter bestimmten Umständen sogar mit Zugriff auf sensible Systemfunktionen.

Was war Firescrolling?

Firescrolling war keine einzelne Schwachstelle, sondern eine Kombination mehrerer Sicherheitsprobleme in frühen Firefox-Versionen. Dabei wurden mehrere Techniken miteinander verknüpft:

  • manipulierte Plugins (z. B. Flash)
  • spezielle XUL-Dateien
  • JavaScript
  • abgefangene Drag-and-Drop-Ereignisse

Der Angriff funktionierte, indem der Browser eine eigentlich geschützte interne Benutzeroberfläche (eine sogenannte privilegierte XUL-Datei) öffnete und anschließend durch Benutzerinteraktion unbeabsichtigt ausführte.

Wie der Angriff funktionierte

Scrollen statt Klicken

Der Angreifer brachte den Nutzer dazu, die Scrollleiste einer Webseite zu bewegen – nicht einmal, sondern zweimal.

Dabei geschah im Hintergrund Folgendes:

  1. Ein Plugin lud eine interne Firefox-Datei (z. B. chrome://...) in einen unsichtbaren Bereich.
  2. Das Scroll-Ereignis wurde technisch „umgeleitet“.
  3. Der Browser öffnete eine privilegierte XUL-Datei.
  4. Enthielt diese Datei ein eingebettetes Skript, wurde es automatisch ausgeführt.

Ein bekanntes Beispiel war:

chrome://global/content/alerts/alert.xul

Diese Datei erzeugte eine Benachrichtigung – harmlos wirkend, aber technisch bereits mit Systemrechten ausgestattet.

Warum das gefährlich war

Der Code lief mit besonderen Rechten

XUL-Dateien gehörten zum inneren Aufbau von Firefox. Sie liefen nicht mit den eingeschränkten Rechten normaler Webseiten, sondern konnten:

  • auf Einstellungen zugreifen
  • Dateien verändern
  • Programme starten
  • Erweiterungen beeinflussen

Der ursprüngliche Bericht von mikx beschrieb das so sinngemäß:

Wenn ein solches XUL-Skript Funktionen wie eval() oder setTimeout() verwendet, kann daraus eine vollständige Code-Ausführung entstehen.

Besonders kritisch waren Update-Routinen, Deinstallationsskripte, Konfigurationsdialoge und Erweiterungen mit unsauberem Code.

Viele Entwickler rechneten damals nicht damit, dass ihre internen XUL-Dateien direkt von außen geöffnet werden könnten.

Die erste und zweite Variante von Firescrolling

Fire Scrolling – die ursprüngliche Angriffskette

Die erste Version von Firescrolling erschien Anfang 2005 und basierte nicht auf einer einzelnen Sicherheitslücke, sondern auf einer Kombination mehrerer bereits bekannter Probleme in Firefox. Dazu gehörten unter anderem Fireflashing, Firetabbing, unzureichend isolierte Plugins sowie manipulierte Drag-and-Drop-Ereignisse.

In dieser Konstellation genügte es, den Nutzer dazu zu bringen, die Scrollleiste einer Webseite zweimal zu bewegen. Dabei wurde im Hintergrund eine privilegierte XUL-Datei geladen, deren eingebetteter Code automatisch ausgeführt werden konnte. Je nach Zielseite konnte dies bereits dazu führen, dass Dateien heruntergeladen oder weitere Aktionen im Browser ausgelöst wurden, ohne dass der Nutzer etwas davon bemerkte.

Betroffen waren Firefox 1.0 sowie die Mozilla Suite unter Windows und Linux. Das CVE-Projekt führte diese Variante später unter der Kennung CAN-2005-0527.


Firescrolling 2 – die verbliebene Schwachstelle

Mit Firefox 1.0.1 wurden zwar einige der beteiligten Fehler behoben, ein zentrales Problem blieb jedoch bestehen: Plugins konnten weiterhin interne XUL-Dateien in versteckten Frames öffnen.

Auf dieser Grundlage entstand Firescrolling 2. Auch hier wurde zunächst unauffällig eine privilegierte XUL-Datei geladen, deren eingebettetes Skript beim nächsten Scroll- oder Drag-and-Drop-Vorgang ausgeführt werden konnte. Die veröffentlichte Demonstration zeigte lediglich eine harmlose Benachrichtigung, machte aber deutlich, dass sich derselbe Mechanismus auch für wesentlich kritischere Angriffe missbrauchen ließ, etwa gegen Update-Funktionen, Erweiterungen oder Konfigurationsbereiche des Browsers.

Diese zweite Variante wurde schließlich im März 2005 mit Firefox 1.0.2 geschlossen und erhielt die CVE-Kennung CAN-2005-0401.

Kurz zusammengefasst
  • Firescrolling bestand aus zwei aufeinanderfolgenden Angriffsversionen
  • Die erste Variante nutzte mehrere kombinierte Firefox-Schwachstellen
  • Ein einfaches Scrollen konnte Code-Ausführung auslösen
  • Die zweite Variante nutzte verbliebene Plugin- und XUL-Probleme
  • Vollständig behoben wurde die Lücke erst mit Firefox 1.0.2

Betroffene Systeme:

  • Firefox 1.0
  • Firefox 1.0.1
  • Mozilla Suite 1.7.x

Nicht betroffen: Firefox ab Version 1.0.2

Warum Fire Scrolling als Warnsignal galt und welche Lehren daraus gezogen wurden

Firescrolling machte deutlich, dass Sicherheitsprobleme nicht nur in fehlerhaftem Programmcode entstehen, sondern auch im Zusammenspiel von Benutzeroberfläche, Plugins und internen Browserfunktionen.

Bis dahin galten Aktionen wie Scrollen oder Ziehen mit der Maus als technisch unkritisch. Es zeigte jedoch, dass selbst solche alltäglichen Bewegungen missbraucht werden konnten, um sicherheitsrelevante Abläufe auszulösen.

Der Vorfall führte dazu, dass Browserhersteller begannen, auch scheinbar harmlose Benutzerinteraktionen als möglichen Angriffspunkt zu betrachten. Komfortfunktionen mussten fortan nicht nur benutzerfreundlich, sondern auch streng isoliert und abgesichert gestaltet werden.

Das Entdecken von Fire Scrolling trug dazu bei, das Sicherheitsdesign moderner Browser grundlegend zu verändern. Die Trennung zwischen Webseiten, Plugins und internen Browserkomponenten wurde danach deutlich verschärft.

Warum Firescrolling heute kein Problem mehr ist

Eine völlig andere Browser-Architektur

Dass Firescrolling heute keine praktische Rolle mehr spielt, liegt nicht an einem einzelnen Sicherheitsupdate, sondern an tiefgreifenden Änderungen in der Architektur moderner Browser.

In den frühen Firefox-Versionen waren Webseiten, Plugins und interne Browserkomponenten technisch noch eng miteinander verbunden. Interne XUL-Dateien konnten geladen werden, Plugins verfügten über weitreichende Rechte, und Benutzeraktionen wie Scrollen oder Drag-and-Drop wurden nicht strikt von sicherheitskritischen Funktionen getrennt. Genau diese Kombination machte es möglich, dass scheinbar harmlose Interaktionen missbraucht werden konnten, um privilegierten Code auszuführen.

Heute ist diese Struktur grundlegend anders aufgebaut. Webseiten laufen in isolierten Prozessen, getrennt von der Browseroberfläche und vom Betriebssystem. Interne Benutzeroberflächen werden in geschützten Komponenten dargestellt, die von normalen Webseiten nicht direkt angesprochen werden können.

Wegfall von Plugins und strengere Ereignisverarbeitung

Hinzu kommt, dass klassische Plugin-Systeme wie Flash praktisch vollständig verschwunden sind. Die Möglichkeit, über Plugins privilegierte Inhalte in versteckte Frames zu laden, existiert in dieser Form nicht mehr.

Auch die Verarbeitung von Mausbewegungen, Scroll-Ereignissen und Drag-and-Drop-Aktionen erfolgt heute deutlich restriktiver. Solche Ereignisse werden nicht mehr ungeprüft an andere Browserkomponenten weitergereicht, sondern innerhalb klar definierter Sicherheitsgrenzen verarbeitet.

Zusätzliche Schutzmechanismen wie Sandbox-Modelle, Site Isolation und eine fein abgestufte Rechteverwaltung sorgen dafür, dass selbst bei logischen Fehlern keine direkten Systemzugriffe mehr möglich sind.

Kurz zusammengefasst
  • Webseiten, Browseroberfläche und System sind heute strikt getrennt
  • Interne XUL-Komponenten sind nicht mehr frei zugänglich
  • Klassische Plugins wie Flash spielen praktisch keine Rolle mehr
  • Benutzeraktionen werden sicherheitsseitig stark eingeschränkt verarbeitet
  • Sandbox- und Isolationsmodelle verhindern Systemzugriffe
  • Die technische Grundlage für Firescrolling existiert nicht mehr
  • Michael Krax: Mozilla Foundation Security Advisory – Plugins can be used to load privileged content
No ratings yet.

Konnten wir mit diesem Beitrag weiterhelfen?

Empfehlungen der Redaktion:
Für alle Entdeckerinnen und Entdecker

WhatsApp - optimal nutzen

Buchtipp: Die neueste Version 2021 erklärt alles Funktionen des Messenger-Dienstes. Jetzt WhatsApp komplett ausreizen.

Google als Startseite

Die am häufigsten genutzte Suchmaschine als Startseite im Browser einrichten und schneller die gesuchten Inhalte finden.

Diese Woche neu bei Tchibo

Tolle neue Sachen in den Themenwelten des Tchibo Online-Shops entdecken und sich oder anderen eine Freude bereiten.

Angebote bei QVC

Der TV-Kanal Nummer 1 in Deutschland ist natürlich auch im World Wide Web. Produkte aus den TV-Shows jetzt online entdecken.

Werbeanzeigen

Daniel

Über den Autor

Daniel Weihmann - Betreiber und Redakteur verschiedener Online-Plattformen wie Browserdoktor.de. Von 2004 bis 2014 als Systemadministrator verantwortlich für mehrere Linux-Server und kommunale Online-Lösungen. Heute: Selbstständiger Webdesigner, SEO und Online-Marketer in Köthen (Anhalt).

Schreibe einen Kommentar