- Ein Sicherheitsfehler in Google OAuth führt zu einer schweren Schwachstelle im Authentifizierungsprozess von "Sign in with Google"
- Nach dem Kauf der Domain eines gescheiterten Startups lassen sich die E-Mail-Konten dieser Domain neu einrichten und für den Login bei SaaS-Diensten verwenden
- Zugriff auf Dienste mit sensiblen Daten ist möglich:
- Slack, ChatGPT, Notion, Zoom, HR-Systeme (einschließlich Sozialversicherungsnummern)
- Google lehnte eine Behebung nach der ersten Meldung mit der Begründung ab, dies sei "beabsichtigtes Verhalten"
- Die Grundursache des Problems: Google OAuth erkennt Änderungen der Domaininhaberschaft nicht
- Bei einem Domainwechsel kann sich der neue Inhaber mit denselben Claims wie frühere Mitarbeiter anmelden
- Verwendete Standard-Claims:
hd (gehostete Domain): enthält die Domain-Informationen (z. B. example.com)
email: enthält die E-Mail-Adresse des Nutzers (z. B. user@example.com)
- Wenn Dienstanbieter sich auf diese beiden Informationen verlassen, bleibt bei einem Eigentümerwechsel der Domain derselbe Kontozugriff möglich
- Das Ausmaß des Problems
- 6 Millionen Menschen in den USA arbeiten in Startups
- 90 % der Startups scheitern
- 50 % der gescheiterten Startups nutzten Google Workspace
- Rund 100.000 Domains gescheiterter Startups können gekauft werden
- Im Durchschnitt kommen pro Domain 10 Mitarbeiter und 10 SaaS-Dienste zusammen → möglicherweise enthalten mehr als 10 Millionen Konten sensible Daten
Lösungsvorschläge und Googles Reaktion
- Google wurden folgende Lösungen vorgeschlagen:
- Eindeutige Nutzer-ID: Hinzufügen einer eindeutigen Nutzerkennung, die sich über die Zeit nicht ändert
- Eindeutige Workspace-ID: Hinzufügen einer eindeutigen Workspace-Kennung, die mit der Domain verknüpft ist
- Googles erste Reaktion:
- Meldung im September 2024 → als "nicht behebbar" geschlossen
- Nach einem Vortrag auf der Shmoocon-Konferenz im Dezember 2024 prüfte Google das Problem erneut
- Auszahlung einer Bug-Bounty von 1.337 US-Dollar und Beginn der Arbeiten an einer Behebung
- Derzeit ist eine grundlegende Lösung des Problems ohne eine Änderung durch Google nicht möglich
- Einige Dienste geben bei übereinstimmender Domain sogar vollständige Nutzerlisten zurück, was die Schwachstelle weiter verschärft
- Selbst wenn statt Google-Login ein Passwort verwendet wurde, lässt es sich zurücksetzen
- Startups setzen statt Passwort-Authentifizierung auf erzwungenes SSO und 2FA
- Dienstanbieter verlangen bei Passwort-Resets zusätzliche Verifizierung (SMS-Code, Kreditkartenprüfung)
Fazit: Grundlegendes Problem in der Sicherheit von Google OAuth
- Durch einen Fehler in Googles OAuth-Implementierung können bei einem Wechsel der Domaininhaberschaft Konten übernommen werden
- Google hat mit der Behebung begonnen, aber eine grundlegende Lösung ist noch nicht abgeschlossen
- Derzeit sind die Daten und Konten von Millionen von Menschen in den USA gefährdet
3 Kommentare
Ich habe den Eindruck, dass dies ein Fehler auf Nutzerseite ist: Man hat eine E-Mail mit einer Domain als Authentifizierungsmittel verwendet, dann die Domain aufgegeben und die damit verbundenen SaaS-Dienste nicht ordnungsgemäß stillgelegt. Sollte man das trotzdem als Sicherheitslücke ansehen?
In dem Service, den ich entwickle, haben wir dieses Problem im Vorfeld verhindert, trotzdem stimme ich dieser Meinung zu.
Wenn das ein Problem ist, dann müsste man auch sagen, dass normale Anmeldung und Registrierung per E-Mail insgesamt problematisch sind. Überall wird die E-Mail als eindeutige ID verwendet, und auch die Verifizierung beim Zurücksetzen von Passwörtern erfolgt über den Nachweis des Besitzes der E-Mail.
Extrem betrachtet: Wenn eine bekannte Domain wie
gmail.comoderhotmail.comgehackt würde und die Berechtigung zur Änderung der DNS-Einstellungen der Domain an einen Hacker überginge, dann wäre es natürlich völlig naheliegend, dass die Konten in allen SaaS-Diensten weltweit gefährdet wären.Hacker-News-Kommentare
Wenn DankStartup den Betrieb einstellt und jemand anderes die Domain übernimmt und dadurch auf bestehende Konten zugreifen kann, scheint das eine Frage der Verantwortung von DankStartup, Microsoft und OpenAI zu sein
In Googles OpenID-Implementierung ist die Authentifizierung über den
sub-Claim der richtige Wegsub-Claim ändertsub-ClaimDas ist ein grundlegendes Problem bei Verfahren, die auf DNS beruhen: Nach Ablauf einer Domain kann ein neuer Eigentümer die Berechtigungen des vorherigen Eigentümers erhalten
Google OAuth hat keine Schwachstelle; wer eine Domain übernimmt, besitzt damit alle E-Mail-Adressen dieser Domain
Jemand teilt Erfahrungen aus dem früheren Fall von thehunt.com, bei dem nach der Übernahme der Domain der Zugriff auf alle Dienste möglich war
Das Problem liegt bei Diensten, die das Feld
subnicht verwenden; zur Benutzeridentifikation sollte das Feldsubgenutzt werdensubnicht verwenden, Geld verdienenVorschlag, in Googles OpenID Connect zwei unveränderliche Identifikatoren umzusetzen
sub-Claim und eine mit der Domain verknüpfte eindeutige Workspace-IDDass sich der
sub-Claim in Google OAuth ändert, ist selten und könnte auf ein Problem in der Service-Implementierung hindeutenEs wird ein Fall geschildert, in dem nach der Übernahme einer Domain Zugriff auf E-Mails möglich war
Die Behauptung von „Millionen von Konten“ basiert auf der Annahme, dass gescheiterte Startups ihre SaaS-Konten nicht deaktivieren