Ein CSS-Keylogger braucht kein JavaScript und keinen Anhang, nur eine E-Mail mit ein paar Style-Regeln. Der PortSwigger-Forscher Gareth Heyes tarnte in Outlook ein Auswahlmenü als Microsoft-Anmeldemaske und fing so jeden Tastendruck ab. Die dafür nötige Lücke ist laut Heyes bis heute offen.

drweb.de als bevorzugte Quelle auf Google hinzufügenQualitätsgeprüfte Inhalte direkt in Google News & DiscoverJetzt hinzufügen

CSS-Keylogger galten lange als Laborkuriosität, bis Heyes am 6. August seinen Prüfbericht zu sechs Webmail-Diensten veröffentlichte.[1] Von Yahoo Mail bis ProtonMail fand der Forscher in jedem Dienst einen Weg, mit Style-Regeln aus dem Nachrichtenfenster auszubrechen.

Das Wichtigste in Kürze

  • Heyes prüfte sechs Webmail-Dienste und umging in jedem den CSS-Filter.
  • Der Keylogger läuft ohne JavaScript, allein über ein Auswahlmenü und die Pseudoklasse :checked.
  • Die Label-Lücke in Outlook, mit der eine Mail die Oberfläche fernsteuert, bleibt laut Heyes offen.
  • Der IT-Grundschutz des BSI verlangt, dass Mail-Clients HTML nicht automatisch interpretieren.

Wie wird aus einer Style-Regel ein Passwort-Mitschreiber?

Briefumschlag mit Textband „Passwort mitgelesen“, umwickelt von codierten Papierstreifen
CSS-Keylogger nutzt verstecktes Auswahlmenü: Jeder Buchstabendruck erzeugt einen Bildaufruf vom Server und verrät damit die eingegebene Zeichenkette

Ein als Passwortfeld getarntes Auswahlmenü verrät jeden Buchstaben, weil CSS auf die gewählte Option reagieren kann. Heyes gab jeder Option einen Buchstaben, versteckte den Text hinter der Eigenschaft -webkit-text-security und hängte per :checked an jede Option eine Hintergrundgrafik von seinem Server. Jeder Tastendruck löste damit einen eigenen Bildaufruf aus.

Frühere CSS-Keylogger scheiterten daran, dass ein Attributselektor nur das HTML-Attribut sieht, nie den getippten Wert. Das Auswahlmenü umgeht diese Hürde vollständig. Firefox setzt zudem den Wartezähler des Menüs zurück, sobald das Element kurz aus dem Bild rutscht, und aus knapp einer Sekunde Verzögerung pro Zeichen wurde Echtzeit.

Warum halten die Filter der Anbieter nicht?

Filter und Browser lesen dasselbe CSS unterschiedlich, und in dieser Lücke sitzt der Angriff. Outlooks Filter hielt einen CSS-Kommentar mit Anführungszeichen für einen offenen Text und ließ danach beliebige Selektoren durch. Eine hauseigene JavaScript-Bibliothek ergänzte anschließend position:fixed, also genau die Eigenschaft, die der Filter verbot.

Neu ist dieses Muster nicht. Efail zeigte 2018, wie aktive Inhalte einer HTML-Mail entschlüsselten Text an fremde Server schickten, entdeckt von Forschern der FH Münster und der Ruhr-Universität Bochum.[3] Dieselbe Bruchlinie verläuft heute durch KI-Werkzeuge: Bei Atlassian Rovo genügte eine versteckte Anweisung für den Datenabfluss aus Jira, und in Fastmail lenkte Heyes den OpenAI-Browser Atlas per unsichtbarem Text.

CSS im Postfach: der Angriff in Zahlen

Prüfbericht von PortSwigger, veröffentlicht am 6. August 2026

6
geprüfte Webmail-Dienste, von Yahoo Mail bis Outlook, alle mit Filterlücke
12
Zeichen lang ist das Login-Token bei Medium, das ein CSS-Selektor Stück für Stück erriet
0
Patches für die Label-Lücke in Outlook, mit der eine Mail die Oberfläche fernsteuert
2018
wies Efail nach, dass aktive Inhalte in HTML-Mails Klartext nach außen schicken

So läuft der Keylogger in drei Schritten

1
Filter täuschen
Ein CSS-Kommentar mit Anführungszeichen lässt den CSS-Filter von Outlook beliebige Selektoren passieren.
2
Fenster verlassen
Eine hauseigene Bibliothek ergänzt position:fixed, und die Mail überdeckt die ganze Oberfläche.
3
Passwort abgreifen
Ein getarntes Auswahlmenü lädt pro getipptem Buchstaben eine Grafik vom Server des Angreifers.

Ihre Gegenmaßnahme aus dem IT-Grundschutz: Nach der Basis-Anforderung APP.5.3.A1 müssen Sie Mail-Clients so konfigurieren, dass sie HTML und andere aktive Inhalte nicht automatisch interpretieren.

Outlook filtert CSS und lässt trotzdem eine Anmeldemaske durch, die Passwörter abgreift. Solange Microsoft die Label-Lücke offen lässt, bleibt jede HTML-Mail im Konzernpostfach ein Formular fremder Bauart.

— Markus Seyfferth, Chefredakteur Dr. Web

Was bedeutet das für deutsche Unternehmen?

Der IT-Grundschutz des BSI verlangt in der Basis-Anforderung APP.5.3.A1, Mail-Clients so zu konfigurieren, dass sie HTML und andere aktive Inhalte nicht automatisch interpretieren.[2] Diese Vorgabe entzieht dem Angriff die Grundlage, kostet aber die gestaltete Darstellung von Newslettern.

Ein abgefangenes Passwort führt zum übernommenen Postfach, und damit landet der Vorfall bei Artikel 33 der DSGVO samt 72-Stunden-Frist. Beim Rüstungszulieferer IEH blieb nach einem gekaperten Microsoft-365-Postfach keine Spur des Datenabflusses, und beim Snowflake-Hack öffneten vier Jahre alte Passwörter 165 Firmenkonten. Die Haftung bleibt in beiden Fällen beim Betreiber des Postfachs.

Der Befund gehört damit auf die Agenda der Geschäftsführung. Prüfen Sie diese Woche gerne zwei Punkte: ob Ihr Mail-Client HTML automatisch rendert und ob Ihre Administratoren Passkeys oder Hardware-Token als zweiten Faktor erzwingen.

Quellen

[1] PortSwigger Research, Gareth Heyes: „CSS: the bomb inside your inbox“

[2] BSI: IT-Grundschutz-Kompendium, Baustein APP.5.3 „Allgemeiner E-Mail-Client und -Server“

[3] Poddebniak u. a.: „Efail: Breaking S/MIME and OpenPGP Email Encryption using Exfiltration Channels“

Mehr Newshunger?

4,1 17 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?