(Dieser Artikel beschreibt eine Lücke, welche in der Passwort-Vergessen-Funktion der Webseite eines deutschen Dienstleisters steckte. Der Fehler wurde zwischenzeitlich behoben und ich hoffe, dass euren Systemen selbiges nicht durchgeht. Die Kommunikation mit dem Betreiber soll zudem als eher gutes Beispiel dienen, denn leider ist es eher üblich gemeldete Fehler nicht anzuerkennen oder gar den Anwalt los zu schicken)
Nach längerer Abstinenz wollte ich heute den Dienst einer deutschen Firma nochmal nutzen. Zwar war mir noch bekannt, dass ich einen Login hatte, jedoch nicht die verwendete E-Mail-Adresse. Beim stöbern durch mein Postfach stieß ich auf eine E-Mail aus dem Jahre 2012, mit welcher ich seinerzeit mein Passwort zurückgesetzt hatte. Um mir Tipparbeit zu sparen klickte ich auf den enthaltenen Link- zwar sollte dieser nicht mehr gültig sein, aber immerhin wäre ich auf der Webseite, oder?
Der Link lautete wie folgt: https://webseitedesdienstes.de/reset-password?email=meine%40email.de&key=HEXCODE&ts=1331229923
Der Timestamp entspricht hierbei 2012-03-08 18:05:23 GMT – dem Datum der E-Mail. Neu generierte vergessen-Links nutzen soweit mir ersichtlich das selbe Format.
Zu meiner Überraschung forderte mich die vorgefundene Seite auf ein neues Kennwort zu vergeben. Challenge Accepted – und siehe da: Ich hatte plötzlich Zugriff auf das besagte Konto und konnte mich mit dem neu vergebenen Passwort anmelden. Auch weitere Aufrufe des Links in der E-Mail erlaubten es mir das Kennwort jedes mal erneut zu ändern. Selbst nach Anforderung einer neuen „Passwort-Vergessen“-Mail behielt die alte E-Mail ihre Gültigkeit, die Hex-Codes unterscheiden sich.
Immerhin: Bei Änderung der E-Mail-Adresse zur Übernahme eines fremden Accounts (im Sinne von gerade angelegtem Testaccount) erscheint zwar ebenfalls das Änderungsformular, jedoch wird die Änderung mit einer Fehlermeldung abgelehnt – eine Übernahme fremder Accounts scheint entsprechend nicht möglich zu sein. Das Risiko besteht also hauptsächlich darin, dass bei Cerlust alter E-Mail der Account dauerhaft gefährdet wäre und keine dem Nutzer möglichen Änderungen den Zugriff unterbinden können. Besonders brisant, da der Dienst auch kostenpflichtige Inhalte bereitstellt und hierzu im Profil die Kreditkartendaten hinterlegt sein müssen.
Das Verhalten wurde umgehend an den Betreiber übermittelt, die Antwort erfolgte 2 Arbeitstage später: Man bedanke sich für die Meldung. Kreditkartendaten würden zwar über die UI eingetragen, die Speicherung erfolge jedoch bei einem externen Zahlungsdienstleister. Im Profil würden diese später nicht mehr angezeigt. Die Probleme des mehrfachen Resets ohne zeitliche oder logische Gültigkeitsbeschränkung der Codes ließe sich nachvollziehen, eine Änderung soll innerhalb von 2 Monaten ungesetzt werden.
Inzwischen sind 6 Monate vergangen und der Fehler ist behoben – ob dies innerhalb der angegebenen Zeitspanne erfolgte habe ich nicht geprüft.