6 Punkte von GN⁺ 2025-01-15 | 3 Kommentare | Auf WhatsApp teilen
  • 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:
    1. Eindeutige Nutzer-ID: Hinzufügen einer eindeutigen Nutzerkennung, die sich über die Zeit nicht ändert
    2. 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

 
sixmen 2025-01-15

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?

 
kargnas 2025-01-16

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.com oder hotmail.com gehackt 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.

 
GN⁺ 2025-01-15
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

    • Es ist nicht angemessen, dies als Schwachstelle von OAuth zu bezeichnen
  • In Googles OpenID-Implementierung ist die Authentifizierung über den sub-Claim der richtige Weg

    • Es braucht einen Ablauf für den Fall, dass sich der sub-Claim ändert
    • Die vorgeschlagene „unveränderliche eindeutige Benutzer-ID“ unterscheidet sich im Grunde nicht vom sub-Claim
  • Das 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

    • Solche Probleme können in Authentifizierungssystemen auftreten, die auf E-Mail-Adressen oder DNS angewiesen sind
  • Google OAuth hat keine Schwachstelle; wer eine Domain übernimmt, besitzt damit alle E-Mail-Adressen dieser Domain

    • Dasselbe Ergebnis kann auch ohne Google OAuth auftreten
  • 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

    • Vorgeschlagen wird eine Startup-Idee, die den Domain-Status überwacht, um Sicherheitsrisiken zu verhindern
  • Das Problem liegt bei Diensten, die das Feld sub nicht verwenden; zur Benutzeridentifikation sollte das Feld sub genutzt werden

    • Man könnte mit Schwachstellenmeldungen an Dienste, die das Feld sub nicht verwenden, Geld verdienen
  • Vorschlag, in Googles OpenID Connect zwei unveränderliche Identifikatoren umzusetzen

    • den sub-Claim und eine mit der Domain verknüpfte eindeutige Workspace-ID
  • Dass sich der sub-Claim in Google OAuth ändert, ist selten und könnte auf ein Problem in der Service-Implementierung hindeuten

  • Es wird ein Fall geschildert, in dem nach der Übernahme einer Domain Zugriff auf E-Mails möglich war

    • Das Problem wurde über eine interne Verbindung zu Google gelöst
  • Die Behauptung von „Millionen von Konten“ basiert auf der Annahme, dass gescheiterte Startups ihre SaaS-Konten nicht deaktivieren