• IT-Karriere:
  • Services:

MXSS: Cross-Site-Scripting in der Google-Suche

Aufgrund subtiler Unterschiede beim Parsen von HTML-Code gelang es einem Sicherheitsforscher, gängige Filtermechanismen zu umgehen. Betroffen waren zwei Javascript-Bibliotheken und die Google-Suche.

Artikel veröffentlicht am , Hanno Böck
Sicherheitslücken in der Google-Suche gibt es nicht oft, doch kürzlich wurde eine XSS-Lücke darin gefunden.
Sicherheitslücken in der Google-Suche gibt es nicht oft, doch kürzlich wurde eine XSS-Lücke darin gefunden. (Bild: brionv, Wikimedia Commons/CC-BY-SA 2.0)

Cross-Site-Scripting-Lücken gehören zu den häufigsten Sicherheitsproblemen in Webanwendungen. Eine besonders spezielle Variante einer solchen Sicherheitslücke fand sich jetzt in der Google-Suche. Der Grund ist ein spezielles Verhalten von Browsern beim Verarbeiten des Noscript-Tags. Entdeckt hat das Problem der Sicherheitsexperte Masato Kinugawa von der Firma Cure53, der es an Google gemeldet hatte.

Stellenmarkt
  1. DB Netz AG, Frankfurt (Main)
  2. über duerenhoff GmbH, Hamburg

Die Details erklärt ein Hacker mit dem Pseudonym Liveoverflow in einem Youtube-Video. In modernen Webanwendungen ist es häufig üblich, dass man die Filterung von HTML-Daten nicht auf dem Server vornimmt, sondern auf dem Client. Das macht man insbesondere in Fällen, in denen teilweise HTML-Daten erlaubt sein sollen, etwa Formatierungen, andere wie beispielsweise Skripte dagegen nicht.

Filterung von HTML im Client

Dabei nutzt man den Browser-eigenen HTML-Parser, um Daten zu verarbeiten. Mit einem Template-Element in HTML ist es möglich, HTML-Daten zu parsen ohne sie direkt anzuzeigen. Anschließend kann man alle problematischen Tags und Attribute, die etwa eine Ausführung von Javascript ermöglichen, entfernen.

Ein subtiles Problem ergibt sich, wenn man ein solches Template-Element nutzt, um Eingabedaten mit einem Noscript-Tag zu verarbeiten. Der Noscript-Tag bietet Webseitenbetreibern die Möglichkeit, HTML-Code mitzuliefern, der nur angezeigt wird, wenn der Browser kein Javascript unterstützt. Oft wird das lediglich genutzt, um eine kurze Meldung anzuzeigen, die den Nutzer informiert, dass eine Webseite zwingend Javascript benötigt.

Dieser Noscript-Tag zeigt beim Parsen ein sehr spezielles Verhalten: Wenn Javascript aktiviert ist, wird der Inhalt zwischen dem Start und dem Ende des Noscript-Tags schlicht ignoriert. Wenn Javascript deaktiviert ist, wird der Inhalt hingegen als HTML interpretiert.

Sprich: Der Parser verhält sich je nach Situation unterschiedlich. Beim Parsen mit einem Template-Element, was wie oben beschrieben häufig für Filterung genutzt wird, ist Javascript deaktiviert.

Unterschiedliche Parser mit und ohne Javascript

Der XSS-Code, der nun den Bug triggert, lautet:

<noscript><p title="</noscript><img src=x onerror=alert(1)>">

Beim Filtern mit dem Template-Element und ohne Javascript ist dies korrekter HTML-Code. Der Teil in den Anführungszeichen wird, da es ein Attribut ist, nicht weiter beachtet.

Wird das Ganze jedoch im Browser gerendert, ist Javascript aktiviert. Der Teil <p title=" wird dann schlicht ignoriert und der Noscript-Tag mit </noscript> geschlossen. Der dahinterstehende HTML-Teil wird somit gerendert und kann Javascript ausführen.

Closure und Dompurify betroffen

Dieses Problem betraf die von Google entwickelte Javascript-Bibliothek Closure. Diese wird direkt von der Google-Suche zur Eingabefilterung verwendet, somit war diese direkt verwundbar. Auch in Dompurify, einer von Cure53 selbst entwickelten Javascript-Bibliothek, war das Problem ausnutzbar, allerdings nur, wenn man den Noscript-Tag explizit mit einer Whitelist an erlaubten Tags zulässt; betreffen dürfte das daher die wenigsten Webseiten. Inzwischen gibt es für die Bibliotheken Updates und auch die Google-Suche ist nicht mehr verwundbar.

Bei diesem Problem handelt es sich um eine Variante einer sogenannten MXSS-Sicherheitslücke (Mutation Cross Site Scripting). Damit werden Sicherheitslücken bezeichnet, welche die Eigenheiten von HTML-Parsern im Browser ausnutzen.

Nachtrag vom 2. April 2019, 16:29 Uhr

Wir haben im Text klargestellt dass die Sicherheitslücke bereits geschlossen ist.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Top-Angebote
  1. (u. a. Transport Fever 2 für 22,99€, Project CARS 2 Delux für 15,99€)
  2. (u. a. PS4 Pro Naughty Dog Bundle für 399,99€, PS4 VR Megapack Ed. 2 für 279,99€, Death...
  3. (Samsung Galaxy A51 128 GB für 299,00€)
  4. (aktuell u. a. WD Eements 10 TB für 179,00€, Crucial X8 1 TB externe SSD für 149,00€, Zotac...

Kein Kostverächter 02. Apr 2019

XSS (Cross Site Scripting) ist der Oberbegriff von Methoden, Javascript im Kontext einer...

hannob (golem.de) 02. Apr 2019

Ich hab das jetzt im Text so umformuliert dass klar wird dass die Sachen bereits gefixt sind.


Folgen Sie uns
       


Ninm Its OK - Test

Der It's OK von Ninm ist ein tragbarer Kassettenspieler mit eingebautem Bluetooth-Transmitter. Insgesamt ist das Gerät eine Enttäuschung, bessere Modelle gibt es auf dem Gebrauchtmarkt.

Ninm Its OK - Test Video aufrufen
Star Trek - Der Film: Immer Ärger mit Roddenberry
Star Trek - Der Film
Immer Ärger mit Roddenberry

Verworfene Drehbücher, unzufriedene Paramount-Chefs und ein zögerlicher Spock: Dass der erste Star-Trek-Film vor 40 Jahren schließlich doch in die Kinos kam, grenzt an ein Wunder. Dass er schön aussieht, noch mehr.
Von Peter Osteried

  1. Machine Learning Fan überarbeitet Star Trek Voyager in 4K
  2. Star Trek Voyager Starke Frauen und schwache Gegner
  3. Star Trek: Picard Der alte Mann und das All

Disney+ im Nachtest: Lücken im Sortiment und technische Probleme
Disney+ im Nachtest
Lücken im Sortiment und technische Probleme

Disney+ läuft auf Amazons Fire-TV-Geräten nur mit Einschränkungen. Beim Sortiment gibt es Lücken und die Auswahl von Disney+ ist deutlich kleiner als bei Netflix und Prime Video.
Ein Test von Ingo Pakalski

  1. Disney+ im Test Ein Fest für Filmfans
  2. Disney+ The Mandalorian gibt es in Deutschland im Wochenturnus
  3. Rabatte für Disney+ Disney erlaubt Aussetzen des vergünstigten Jahresabos

Resident Evil 3 im Test: Geht-so-gruselige Action in Raccoon City
Resident Evil 3 im Test
Geht-so-gruselige Action in Raccoon City

Die Neuauflage des Klassikers Resident Evil 3 hat eine schicke Grafik, eine interessante Handlung - und sehr viel Action.
Ein Test von Peter Steinlechner

  1. Resident Evil Das wohl peinlichste Milchgesicht der Videospielgeschichte
  2. Horror Capcom stellt neue Version von Resident Evil 3 vor

    •  /