Bahn.de: XSS-Sicherheitslücke

Bereits vor einer Woche informierte Manuel Blechschmidt die deutsche Bahn darüber, dass ihre Website eine cross-site-scripting-Lücke hat. Bei einem Link auf Bahn.de (bzw. einem manipulierten Seitenaufruf) kann man eigenen Code mit übergeben, und aufrufen lassen. Dies nutze er dazu, alle Cookies der Seite – inklusive des Login-Tokens – an einen anderen Server übermitteln, der sie dann speichern und potenziell missbrauchen kann.

Dafür muss man potenzielle Opfer nicht dazu bringen, einen Link anzuklicken: Die Einbindung in einem unsichtbaren iFrame auf einer vielbesuchten Seite reicht zum Massendiebstahl der Cookies aus. Gefährdet ist dann jeder gleichzeitig bei bahn.de eingeloggte (oder noch nicht ausgeloggte) Nutzer. Das Prinzip ist dann das gleiche wie bei Firesheep: Nicht das Passwort wird geklaut, sondern der Cookie, und mit dem kann man dann die eingeloggte Session übernehmen.

Als gewissenhafter Bürger informierte Manuel die zuständige Stelle, dass diese Lücke potentiell dafür genutzt werden könnte, Benutzerdaten zu entwenden, Passwörter zu ändern oder Tickets auf fremde Namen zu buchen.

Dies tat er am 29.06. – aber bis heute ist die Lücke noch nicht geschlossen. Daher wandte sich Manuel an uns mit der Bitte, durch öffentlichen Druck auf ein rasches Schließen selbiger hinzuwirken, bevor etwas schlimmeres passiert.

Dies wollen wir hiermit tun: Liebe Bahn, du hast eine Sicherheitslücke auf deiner Website. Damit kann man Kundendaten ausspähen und Accounts missbrauchen. Kannst du die Lücke mal bitte fixen?
Oder ist sie dir so lange egal, bis wir hier auch noch veröffentlichen, wie man sie nutzt?
Was gab es denn in der letzten Woche wichtigeres?

Update: Man arbeitet dran.

Update 8.6.11: Die Bahn hat die Lücke gechlossen.

Hier Manuels Email vom 29.06:

Sehr geehrte Frau Chris Newiger,
aus Zufall habe ich eine sogenannte XSS Lücke auf Ihrer Website gefunden.

Der folgende Link führt Sie zuerst auf die reiseauskunft der Bahn und anschließend werden alle Ihre Cookies von bahn.de an eine von mir präparierte Website geschickt: [Link entfernt, L.N.]

Ihre Cookies werden bei mir gespeichert. Diese Vorgehensweise dient lediglich der Demonstration der Lücke und ich werde diese Daten nicht für einen Angriff nutzen.

Ich habe überlegt, ob ich mich mit dieser Lücke an die Öffentlichkeit oder an eine Exploitbörse wenden solle, allerdings möchte ich erstmal ihnen die Chance geben sie dazu zu äußern und die nötigen Maßnahmen einzuleiten.
Diese Sicherheitslücke auf Bahn.de könnte potentiell dafür genutzt werden um Benutzerdaten zu entwenden, Passwörter zu ändern oder auch Tickets auf fremde Namen zu buchen.

Eine kurze Prüfung von mir hat ergeben, dass Sie die Session ID, die für die Sicherung der Logindaten verantwortlich ist, nicht als Session Cookie speichern, allerdings schließt das nicht aus, dass an anderen Stellen wie z.B. im Buchungsdialog dieser Cookie entwendet werden kann.

Es ist auch nicht nötig, dass man direkt auf diesen Link klickt. Eine präparierte Facebook App oder eine andere Website wie Spiegel.de könnte ausreichen um hier großen Schaden anzurichten.

Ich würde Sie darum bitten mir bis zum 6.7. mitzuteilen, wie Sie dieses Problem lösen wollen. Weiterhin würde ich mich über eine kleine Anerkennung z.B. einen Gutschein der Deutschen Bahn freuen.

Schönen Gruß und viel Erfolg beim Fixen
Manuel Blechschmidt

58 Ergänzungen

    1. hei… hab keine ahnung von dem was hier steht… aber… wenn das stimmt… dann macht ihr bitte was… ja… weiter in die öffentlichkeit.,.. egal ob bahn… oder sonst wer… unser netz schützen… vor den üblen fingern von allen seiten… da sind wir uns doch einig??? oder… für ein freies netz… in dem übelfinger keine chancen bekommen sollen… wenn jetzt die bahnseiten zusammenbrechen sollten… und sie haben das vorher noch als hinweis bekommen… puh… welcher vorstand dann gehen muß?… aber echt sauerei gerade für bahnkunden mit kreditkarte… üble sache… danke an alle die mithelfen das netz sauber zu halten

  1. Ps. Nicht umsonst wird sowas Glückskeks genannt.

    Browsereinstellungen sollte man sich gut überlegen, nur als kleiner Tipp für Dulle.

  2. Die Diskussion ob Kekse gut oder böse sind kann man sich an dieser Stelle wohl sparen. Es gibt nicht nur erfahrene Nutzer da draußen und vor allem: Ich habe einen Bahn.de-account mit hinterlegten Bankdaten, weil ich die Webseite nutze… Ohne Cookies nichts los ;-)

    Zum Artikel selbst:
    Gute Methode um nicht ans Bein gepinkelt zu bekommen, wenn das jetzt jemand gezielt sucht und ausnutzt. Ist doch sauber dokumentiert, mit Mailverkehr und allem.
    Am Ende sagt die Bahn bestimmt, dass die arme Frau Newiger im Urlaub war. Abwesenheitsnotiz gibts da vermutlich nicht.
    na gut, aber Fazit: Bin auf die Antwort der Bahn gespannt.

    1. Klar, aber den Keks entfernt man danach wieder. Und zwar sofort nach dem Akt (wenn ich es mal so nennen darf).

      Und da scheitern die Dullen.

      1. Ps. Wie oft schreibe ich es (50 mal in der Woche), wie oft wird es bei Heise etc. geschrieben: KLICKT KEINE LINKS AN.

        Geht auf die Pages der Anbieter. Aber nein, Dulle eben.

      2. @Tommy

        „Bei einem Link auf Bahn.de (bzw. einem manulierten Seitenaufruf) kann man eigenen Code mit übergeben, und aufrufen lassen. Dies nutze er dazu, alle Cookies der Seite – inklusive des Login-Tokens – an einen anderen Server übermitteln, der sie dann speichern und potenziell missbrauchen kann.“

        Genau. Löschen und Entfernen scheint ein Fremdwort zu sein.

        Motto: Je mehr Kekse, desto leichter ist mein Online-Leben. Falsch.

        Kekse waren mir schon immer ein Dorn im Auge. Und wie bin ich belächelt worden, frei nach „Kekse sind nicht böse“ etc..

        Jau, klar.

      3. sehr gut, das war nur ganz knapp! Du hättest einfach nur weiterlesen müssen:
        „Dafür muss man potenzielle Opfer nicht dazu bringen, einen Link anzuklicken: Die Einbindung in einem unsichtbaren iFrame auf einer vielbesuchten Seite reicht zum Massendiebstahl der Cookies aus.“

      4. Im Übrigen kann man auch übertrieben paranoid sein. Wenn man danach geht dürfte man nirgends WLAN Hotspots (selbst gesicherte) nutzen, zwecks Geodaten sammeln, was mit Googles WLAN Datenbank ja kein Problem mehr ist. Handygespräche sind auch unsicher und können geknackt werden und selbst Linux späht dann wohl aus. omg :D
        Die Möglichkeiten zur Datenerfassung & zum Missbrauch dieser sind unendlich. Würde ich immer noch so paranoid denken, hätte ich kein RL.

  3. Schon lächerlich wie Netzpolitik die Prioritäten setzt. Da wird eine lächerliche XSS groß raus gebracht, aber eine SQL Injection in einem Elektronikmarkt (70.000 Kundendaten, Kreditkarteninformationen und pw plain in der DB interessieren nicht). Mediemwirksamkeit ist halt wichtiger ;)

    1. @hoohead: (Abgesehen davon, dass ich gerade nicht weiß worum es geht). Falls Du uns mal eine solche Info geschickt hast, dann kommt es manchmal darauf an, zu welchem Zeitpunkt uns eine Mail erreicht und ob jemand gerade Zeit und Lust hat, sich damit zu beschäftigen. Eben hatten wir Zeit und Lust.

  4. Wette um 10FRZ: Aus dem letzen Satz werden die Bahnanwälte einen Erpressungsversuch konstruieren.
    Wer geht mit?

    1. Ach was,
      schlimmerer ist doch für die, dass ich schon seit drei Wochen durch die Weltgeschichte reise…
      Grüße vom Bodensee!

    2. Ich konstruiere daraus (und den anderen frotzeligen Formulierungen) lediglich, dass der Entdecker eine Dusche ist und/oder echt nicht gerne Geld bei der Bahn ausgibt.

  5. Also in meinen Augen ist es grob fahrlässig Cookies nicht HTTP-only zu flaggen, gerade wenn es um Login oder Session-Cookies geht.

    Wobei die Bahn mit dem Problem nicht allein steht. Schlimmer finde ich eher, dass die Firmen diese Schwachstellen nicht unverzüglich schließen.

    Ich darf an http://www.socialnetworksecurity.org/ erinnern. Hier sind Schwachstellen dokumentiert, die noch immer nicht geschlossen wurden. Von daher wäre vielleicht ein umdenken innerhalb der Unternehmen sinnvoll.

  6. Für mich habe ich schon vor 15 Jahren eine gute Lösung gefunden:

    Meinen Keks bekommt mein Provider, wenn ich auf mein Kundenkonto gehe. Der Rest, egal, um was es geht, setzt mir keine Kekse auf den Rechner. Kekse sind unnötig und auch nicht notwendig, weder für den Kauf von Waren, noch für Tics, noch für irgendwas. Fordert der Admin also einen Keks, damit ich dessen (beschissenen) Service genießen darf, bin ich weg. Und zwar ganz schnell.

    Daher bin ich auch, trotz kostspieliger Abwehrsoftware (langweilt sich), seit geschlagenen 15 Jahren vollständig spamfrei, schädlingsfrei, schnüffelfrei und so rein, wie es Mutti mit Persil nicht besser machen könnte. Nebst Frühlingsduft und Sommerfrische.

    Amen, zehn „Vater unser“ und Gott sei`s geschissen.

  7. Hallo,
    der Grund für mich mit dieser Lücke an netzpolitik.org heran zu treten ist primär, dass die Bahn groß Werbung macht, wie sicher meine Daten bei ihr sind (http://www.bahn.de/p/view/home/info/datenschutz.shtml). Zertifiert vom TÜV Süd mit safer shopping (http://www.bahn.de/p/view/home/info/tuev-siegel.shtml) und einem ISO 9001:2008 Zertifikat von der Dekra (http://www.dekra.de/de/1267), aber es ist trotzdem nicht möglich eine kleine XSS Lücke innerhalb von einer Woche zu fixen oder auf die Email zu antworten.

    Ich bin gespannt, ob das Problem jetzt schneller behoben wird. Momentan ist es auf jeden Fall noch da.

    Schönen Gruß
    Manuel

    1. Sind denn auf deinem Server mal ein paar Daten eingegangen? Das wäre ja zumindest mal ein Indiz dafür, dass die Mail gelesen wurde und jemand evtl. versucht hat, die Lücke zu verifizieren (wobei das natürlich auch geht, ohne dass Daten bei dir eingehen).

      1. Nein, nur meine eigenen. Ich habe das extra nochmals überprüft bevor ich mich an netzpolitik.org gewendet habe.

        Netzpolitik.org hat bereits nach 2 Stunden die Lücke abschließend geprüft.

    2. Wenn das Ding von TÜV Süd und sonstwas zertifiziert ist: Hast Du mal bei denen nachgefragt, was sie da eigentlich zertifizieren?

      1. Hallo Hanno,
        nein, ich habe nicht beim TÜV nachgefragt.

        Ich kenne die ISO 9000 Qualitätssicherung Familie. Dabei geht es primär darum, dass deine Prozesse dokumentiert sind.

        Weiterhin kenne ich den PCI Standard, der von Kreditkartenanbietern, wie VISA und MasterCard vorgeschrieben wird.

        Das große Problem liegt hier in der Reaktionsgeschwindigkeit. Diese wird soweit ich informiert bin nicht regelmäßig überprüft.

        Schönen Gruß
        Manuel

    1. Naja, du kennst dich halt grundsätzlich ziemlich gut mit Sicherheit von Webanwendungen aus und dann siehst du einen Link, der ein bisschen verdächtig aussieht, änderst kurz was und findest zufällig raus, dass es da ein Problem gibt.

      Ich wollte mit dem „zufällig“ nur sagen, dass ich keine großen Web Vulnerability Scanner oder andere Techniken verwendet habe und dass ich nicht versucht habe die Lücke weiter auszunutzen.

      1. Okay, dann kann ich es nachvollziehen. Wenn ein Link verdächtig ausschaut und man Ahnung der Materie hat…
        Danke für die Antwort!!

  8. @ Manuel Blechschmidt
    ist denn die frau newiger it- oder datenschutzbeauftragte der Bahn
    oder doch „nur“ deren pressesprecherin ?
    in zweitem fall hat die dein schreiben vielleicht einfach nicht geschnallt.
    du könntest ihr ja noch mal einen verweis auf diese kommentardiskussion mailen,
    denn sowas an der grossen glocke sollte sich die bahn nicht erlauben.

    buddel


    1. Sichere Zahlungsvorgänge
      Sämtliche Zahlungsvorgänge auf bahn.de werden regelmäßig durch externe Auditoren auf Sicherheit und Konformität mit den deutschen gesetzlichen Bestimmungen hin geprüft.

      Bei Fragen zum Datenschutz bei Kundendaten können Sie sich auch an die Datenschutzbeauftragte der Deutschen Bahn AG wenden:
      Frau Chris Newiger
      E-Mail an ecommerce-datenschutz@bahn.de

      [http://www.bahn.de/p/view/home/info/datenschutz.shtml]

      Also ich denke, dass wenn Frau Newiger es nicht verstanden hätte, dann hätte Sie ja trotzdem antworten können und nachfragen können.

      Ich habe mir Mühe gegeben die Konsequenzen des Problems möglichst untechnisch zu beschreiben.

      1. ach ja externe Datenschutzbeauftragte. Die Frau wird gar nicht in ihr Postfach schauen, ist vielleicht im Urlaub und damit gelitten.
        Mal schauen ob die Pressestelle zeitnah ein Feedback dazu sendet. Deine eMail-Adresse sollten sie ja dank Webseite finden können.

  9. „Ich würde Sie darum bitten mir bis zum 6.7. mitzuteilen, wie Sie dieses Problem lösen wollen. Weiterhin würde ich mich über eine kleine Anerkennung z.B. einen Gutschein der Deutschen Bahn freuen.
    Schönen Gruß und viel Erfolg beim Fixen
    Manuel Blechschmidt“

    Ist er kein wenig geldgeil? Jupp, ein Gutschein. Manuel liebt die Bahn. Ich hätte Kohle gefordert. :-D

    (Ich liebe diese Possen, zum Brüllen sind sie, diese Nörgler)

    1. Vielleicht bekommt er ja sogar einen Gutschein für eine Tasse Kaffee im Bordbistro …

  10. Ich bin immer wieder erstaunt, dass es im Netz nur vorwitzige Besserwisser gibt – erstaunt und belustigt.

  11. Dieser Manuel Blechschmidt ist an Arroganz und ungeschicktem Auftreten aber auch nicht zu überbieten. Wenn mir als Unternehmen so ein Fatzke den Wisch schicken würde, dann würde ich als erstes meine Rechtsabteilung darauf ansetzen, die nächsten sechs Monate seines Lebens mit einer Klage zur Hölle zu machen. Steilvorlage: Androhung einer kommerziellen Nutzung der Erkenntnisse zum persönlichen Nutzen („Exploit-Börse“).

    Nur weil die Kiddos mit ihren Skriptbaukästen irgendwo ne XSS finden, meinen sie, die Welt läge ihnen zu Füßen. „Neo der große Hacker, wir huldigen dir!“ Am Ende wahrscheinlich auch ein verzweifelter Security-Unternehmer, der zwingend auf sich aufmerksam machen muss und sich ärgert, dass er noch immer keinen Auftrag für ein bissl Testing von der DB hat. Damit stopft man im Konzernumfeld diesen Mietmäulern nämlich normalerweise die Goschn.

    1. Hihi, genau solche Unternehmer brauchen wir. Klagen statt korrigieren. Aber hey, demnächst bleibt man halt auf der Schwachstelle sitzen oder man nutzt den Dienst Pastebin. Die Frage, ob dem Unternehmen geholfen ist, einen full disclosure einfach so ins Netz zu stellen oder dies nicht der bessere Weg ist, kannst du dir ja selber stellen.

      Statt sich über Manuel Blechschmidt zu ärgern, sollte man ihm lieber Respekt und Dank zollen. Wer eine Sicherheitslücke findet und meldet, ohne kommerzielle Gedanken zu haben, sollte dafür nicht bestraft werden.

      Was ehrlich gesagt fehlt ist eine Plattform, an die man solche Lücken melden kann, die einem den Rechtschutz bietet und den Kontakt zu den betreffenden Firmen herstellt, bzw. den entsprechenden Fehler nach Abwicklung veröffentlicht.

      Letzterer Punkt ist dabei besonders wichtig, um auch anderen zu helfen, solche Fehler und Schwachstellen zu vermeiden.

    2. Dieser Manuel Blechschmidt ist an Arroganz und ungeschicktem Auftreten aber auch nicht zu überbieten. Wenn mir als Unternehmen so ein Fatzke den Wisch schicken würde, dann würde ich als erstes meine Rechtsabteilung darauf ansetzen, die nächsten sechs Monate seines Lebens mit einer Klage zur Hölle zu machen. Steilvorlage: Androhung einer kommerziellen Nutzung der Erkenntnisse zum persönlichen Nutzen (“Exploit-Börse”).

      Meine Güte, was für ein Unsinn. Du hast keine Ahnung, wie solche Dinge laufen. „Rechtsabteilung“ – dass ich nicht lache!

      Und lustig, dass dich deine Visionen von Epressung komplett von dem Thema ablenken, dass die Lücke da seit einer Woche ist. Lieber hackst du auf dem Entdecker und discloser rum – das scheint dann aber auch das Ende deiner Hacker-skills zu sein.

      1. Schon mal von einem Erpresser gehört, der seinen Namen mit angibt, statt den einsamen Mülleimer am See, in den das Gratisticket geworfen werden soll?

      2. Das es nicht gefixt wird ist eine Sache, Ton und Inhalt der Mail eine andere, und was letzteres angeht kann ich Pandorum nur zustimmen, es liest sich arrogant und dreist. Was dabei rüber kommt ist folgendes:

        „Hey, ich habe da zufällig eine XSS Lücke gefunden und mit dem Gedanken gespielt sie für zu verscherbeln, aber dann habe ich es mir doch anders überlegt, und erbarme mich nun sie euch mitzuteilen, also hopp hopp, ich gebe euch 7 Tage Zeit, und lasst mich wissen was ihr für mein Schweigen springen lassen wollt.“

        Ich sage nicht das es Absicht war, aber es ist wie es ist. Das man bei der Bahn warum auch immer den Hintern nicht hoch bekommt macht es aber nicht besser.

    3. Rechtsabteilung? Auf der anderen Seite dann weinen wenn die Lücke Anonym veröffentlicht wird ohne sie Ihnen vorher aufzuzeigen.

  12. Habe mal ein Email hingeschrieben – finde das aus Kundensicht ehrlich gesagt zum Kotzen! Lücken sind nichs schönes, aber kommen auch mal vor. Umso mehr sollte man bei der Bahn bemüht sein, das Thema schnell aus dem Weg zu schaffen. Aber ich glaube, bei so Konzernen wie die Bahn braucht es einfach mal eine Woche, bis ein Email beim richtigen Bearbeiter ist bzw wenn es den Weg überhaupt schafft.

  13. Manuel hat sich doch in jeder Hinsicht vorbildlich verhalten: responsible Disclosure und nach einer angemessenen Zeit der Weg an die Öffentlichkeit. Ob man den (imo legitimen) Wunsch nach einem Gutschein (!) als Erpressungsversuch auslegen kann – bzw. ob sich jemand erdreistet das zu tun, weiß ich nicht – aber spätestens dann würde der Streisandeffekt wohl böse zuschlagen.

  14. Neulich hab ich so einen ähnlichen Fehler gemeldet und innerhalb von einem Tag hat sich der Chef (!!!) gemeldet, hat sich bedankt (!!!), mir einen 5 Euro Gutschein angeboten (!!!) und die Fehler waren am gleichen Tag noch weg.

    Das fand ich mal erfrischend anders. Das waren die da http://www.adgoal.de/

      1. Nee, ging um ne andere Seite von denen … also der Gutschein. ich wollte ihn ja auch gar nicht haben – ich fand es nur professionell. :-)

  15. „Liebe Bahn, du hast eine Sicherheitslücke auf deiner Website. Damit kann man Kundendaten ausspähen und Accounts missbrauchen. Kannst du die Lücke mal bitte fixen?
    Oder ist sie dir so lange egal, bis wir hier auch noch veröffentlichen, wie man sie nutzt?
    Was gab es denn in der letzten Woche wichtigeres?“

    Oh, wie süß :-)

  16. Wenn man mal genauer nachdenkt, war das Ausspähen von Daten. Ich prüfe selbst genug auf XSS Lücken und mache zwei Tests, nämlich ob ich Scripte ausführen kann und komme ich auf einen anderen Server. Dann ist klar, dass man theoretisch Cookies kopieren kann. Hier hat er das Ganze aber fertig gebaut, sodass er die Cookies abfangen konnte und denen wohl auch den Link geschickt. Das ist wohl etwas viel des Guten.

  17. Einstellungen -> Privater Modus… nicht so schwer, oder? Und das bestimmt 99,9% aller Internetnutzer auf Links klicken, weil’s bequem ist, ist nun mal so.

Dieser Artikel ist älter als ein Jahr, daher sind die Ergänzungen geschlossen.