Bundesamt für Wirtschaft und Ausfuhrkontrolle: Website war via XSS manipulierbar

Die Website des BAFA wies eine Cross-Site-Scripting-Lücke auf: Angreifer hätten eigenen Code injizieren können. Nach unserem Hinweis wurde die Lücke gefixt.

In Pocket speichern vorlesen Druckansicht 16 Kommentare lesen
Bundesamt für Wirtschaft und Ausfuhrkontrolle: Website war via XSS manipulierbar

Statt der Meldung "1" hätten auch schädliche Inhalte injiziert werden können.

(Bild: Screenshot)

Lesezeit: 3 Min.

Ein heise Security-Leser hat uns Anfang letzter Woche auf eine von ihm entdeckte Cross-Site-Scripting (XSS)-Lücke in der offiziellen Website des Bundesamts für Wirtschaft und Ausfuhrkontrolle, kurz BAFA, hingewiesen. Angreifer hätten die Lücke unter Verwendung eines speziell präparierten Links ausnutzen können, um im vertrauenswürdigen Kontext von https://fms.bafa.de eigene HTML- und JavaScript-Inhalte anzuzeigen.

Wir machten die BAFA am vergangenen Dienstag, dem 4. August, auf das Sicherheitsproblem aufmerksam. Einer der zuständigen Mitarbeiter meldete sich innerhalb weniger Stunden zurück: Man werde sich selbstverständlich bemühen, die Sicherheitslücke schnellstmöglich zu schließen. Darauf folgte dann am frühen Freitagnachmittag der Hinweis durch die BAFA-IT, dass die Lücke im Laufe des Donnerstags durch einen Hotfix behoben worden sei. Und tatsächlich ließ sich das XSS-Szenario anschließend nicht mehr nachstellen.

Wo zuvor ein Alert aufpoppte (siehe Aufmacherbild) wird nach dem Fix nun eine Fehlermeldung zurückgeliefert.

(Bild: Screenshot)

Ungeachtet der freundlichen und recht zeitnahen Reaktion und Problemlösung durch die BAFA sollten Bürger, die die Website einer (Bundes-)Behörde besuchen, bestenfalls von vornherein darauf vertrauen können, dass bei der Programmierung der Sicherheit besondere Aufmerksamkeit geschenkt wird. Vor allem im Falle von Website-Bereichen, die der elektronischen Übermittlung von (potenziell sensiblen) Daten dienen: Via https://fms.bafa.de/BafaFrame/upload kann man unter Angabe von Themenbereich, Vorgangsnummer und Internet-ID ausgefüllte Dokumente zu verschiedensten Zuständigkeitsbereichen der BAFA übermitteln.

Solche Dokumente hätte man indes über die Lücke ausdrücklich nicht abgreifen können. Sie ermöglichte stattdessen, wie ihr Entdecker via E-Mail mitteilte, sogenannte reflektierte oder nicht-persistente XSS-Angriffe. Bei solchen Angriffen wird Schadcode nicht (persistent) auf dem Webserver gespeichert, sondern direkt beim Seitenaufruf in die lokale "Kopie" der Website geschrieben und ausgeführt.

Der Tippgeber demonstrierte dies anhand einer Alert-Box mit der Ausgabe "1", die nach dem Aufruf folgender URL angezeigt wurde:

https://fms.bafa.de/BafaFrame/upload?themenbereich=FEM-FV"><script>alert(1)

Das Problem: Der "Wert" von Themenbereich, inklusive dem injizierten Code, wurde über den GET-Parameter "themenbereich" direkt in den Source-Code der HTML-Seite geschrieben.

(Bild: Screenshot)

Den angegebenen Themenbereich hätte man dabei auch beliebig durch einen anderen gültigen Parameter ersetzen können – ebenso wie, und das ist das Entscheidende, die harmlose Alert-Box. Ein denkbares Angriffsszenario wäre etwa gewesen, stattdessen ein gefälschtes BAFA-Formular in den Link einzubauen, um darin sensible Daten abzufragen und sie im Anschluss an den Angreifer zu schicken. Dieses wäre dann Personen angezeigt worden, die auf den entsprechend umgebastelten (aufgrund von Länge und Struktur nun möglicherweise nicht mehr ganz so unauffälligen) Link, etwa in einer Phishing-Mail, geklickt hätten. (ovw)