Um die Bevölkerung zu motivieren, sich auch während des Lockdowns sportlich zu betätigen, wurden mehrere Projekte ins Leben gerufen. Eines davon, der “OneMillionRun”, fand am letzten Maiwochenende statt, mit folgendem Ziel: Gemeinsam 1'000'000 Kilometer zu Fuss zurücklegen. Die geleisteten Kilometer mussten natürlich online auf www.onemillionrun.ch im persönlichen Konto eingetragen werden.
Schwachstelle auf onemillionrun.ch - Account Takeover
Um die Bevölkerung zu motivieren, sich auch während des Lockdowns sportlich zu betätigen, wurden mehrere Projekte ins Leben gerufen. Eines davon, der “OneMillionRun”, fand am letzten Maiwochenende statt, mit folgendem Ziel: Gemeinsam 1'000'000 Kilometer zu Fuss zurücklegen. Die geleisteten Kilometer mussten natürlich online auf www.onemillionrun.ch im persönlichen Konto eingetragen werden.
Die Kontoerstellung lief ziemlich simpel ab: Name, Adresse, Geschlecht, Geburtsdatum und Mail angeben und abschicken. Ein Passwort wird nicht benötigt, die Anmeldung erfolgt über einen Link mit einer zufällig generierten ID (eine sogenannte UUID). Ruft man den Link auf, der per Mail zugestellt wurde, lassen sich Kilometer eintragen sowie die persönlichen Daten anzeigen und löschen.
Die UUID dient hier also als Sicherheitselement. Jeder der diese kennt, kann auf den Account zugreifen. Dies ist generell sehr viel sicherer als Passwörter, da sich UUIDs nicht erraten / bruteforcen lassen.
Der Fehler
Auf onemillionrun.ch gibt es eine Seite mit allen Teilnehmern, die einer solchen Veröffentlichung zugestimmt haben (https://www.onemillionrun.ch/result). Auf der Seite wird nur der Name, der Teamname, die Kilometerzahl / Zeit und der Wohnort angegeben. Bei der Analyse der Seite ist mir jedoch aufgefallen, dass im Quelltext die UUID der Nutzer angegeben ist.Nach einer Überprüfung mit einem Testkonto stellte sich heraus, dass die UUID tatsächlich dazu verwendet werden kann, um auf einen Account zuzugreifen.
Es wäre also theoretisch möglich gewesen, alle UUIDs automatisiert zu sammeln und anschliessend alle persönlichen Daten der Nutzer herunterzuladen.
Meldung & Behebung
Nachdem feststand dass tatsächlich eine Schwachstelle besteht, die zudem vermutlich rund 50'000 Schweizerinnen und Schweizer gefährdet, suchte ich nach Kontaktdaten der Verantwortlichen. Da ich die Schwachstelle am Freitagabend fand, bestand die Gefahr, dass ich niemanden mehr erreichen konnte. Auf der Seite war jedoch die Handynummer des Mediensprechers angegeben. Mein Anruf wurde nicht entgegengenommen - 20 Minuten später erhielt ich jedoch den Rückruf. Der Mediensprecher leitete die Information weiter und 10 Minuten später erhielt ich einen Anruf eines Entwicklers von Datasport, der die Schwachstelle bestätigte.
Am nächsten Tag (Samstag), war die Schwachstelle - weniger als 24h nach Meldung - bereits behoben.
Als erste Massnahme wurde die UUID in der Teilnehmerauflistung durch eine andere ID ersetzt. Eine Analyse der Logdateien hat zudem ergeben, dass der Fehler glücklicherweise nicht ausgenutzt wurde. Da jedoch nicht ausgeschlossen werden konnte, dass die UUIDs bereits heruntergeladen wurden, wurde noch eine weitere Sicherheitsfunktion eingebaut:
Diese stellt sicher, dass man nur auf den Account zugreifen kann, wenn man die E-Mail-Adresse kennt.
Fazit
Diese Schwachstelle zeigt sehr gut, dass sehr kleine Fehler grosse Auswirkungen haben können. Doch glücklicherweise wurde die Schwachstelle nicht ausgenutzt. Vielen Dank an dem Punkt an den / die Entwickler und alle anderen Beteiligten. Es ist äusserst selten, dass eine Schwachstelle so einfach gemeldet werden kann und an einem Wochenende / über Nacht behoben wird.
Timeline
- 29.05.2020, 17:30: Schwachstelle entdeckt
- 29.05.2020, 18:00: Anruf an Mediensprecher - nicht verfügbar
- 29.05.2020, 18:20: Rückruf von Mediensprecher - Situation erklärt
- 29.05.2020, 18:30: Anruf von Entwickler
- 29.05.2020 - 30.05.2020: Schwachstelle behoben
- Rubrik:
- Sicherheitslücken
News und andere interessante Sachen.
Blog.
Auf unserem Blog finden Sie interessante Artikel über von uns gefundene Sicherheitslücken, aktuelle Themen, Neuigkeiten und weiteres
Auf den Onlineshops der Digitec Galaxus AG befand sich eine Schwachstelle, die es ermöglichte, den vollen Namen eines beliebigen Kunden abzufragen. Benötigt wurde dazu nur die User-ID, die im Link zum jeweiligen Benutzerprofil zu finden ist. In diesem Beitrag schildere ich die Details zu dieser Lücke.