Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/hunt-benito/ash-authentication-oauth2-oidc-account-takeover-cve-2026-49757-email-based-user-matching
Authentifizierung & AutorisierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsAuthentifizierungLernen & Bildung

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
hunt-benito/ash-authentication-oauth2-oidc-account-takeover-cve-2026-49757-email-based-user-matching

ash-authentication-oauth2-oidc-account-takeover-cve-2026-49757-email-based-user-matching

Proof-of-concept-Exploit für CVE-2026-49757, der die OAuth2/OIDC-Übernahme von Konten durch E-Mail-basiertes Benutzer-Matching in AshAuthentication demonstriert, mit Simulationen von angreifbaren und behobenen Handlern.

Repository anzeigen
2vor 2 MonatenNoch nicht geprüft

CVE-2026-49757 — AshAuthentication OAuth2/OIDC Account-Übernahme

Beweis des Konzepts für CVE-2026-49757 — eine kritische Schwachstelle in AshAuthentication, bei der OAuth2/OIDC-Callbacks Benutzerkonten anhand der E-Mail-Adresse anstelle des (Strategie, sub)-Identitätspaars auflösten, was eine nicht authentifizierte Kontenübernahme ermöglichte.

FeldWert
CVECVE-2026-49757
CVSS 4.09.2 (Kritisch)
CWECWE-290 (Authentifizierungsumgehung durch Spoofing)
GHSAGHSA-777c-2fxx-qr28
Betroffenash_authentication >= 0.1.0, < 4.14.0 und >= 5.0.0-rc.0, < 5.0.0-rc.10
Gefixt4.14.0, 5.0.0-rc.10

Angriffszusammenfassung

  1. Opfer registriert sich in einer Zielanwendung, die AshAuthentication verwendet
  2. Angreifer registriert sich bei einem akzeptierten OAuth-Anbieter mit der E-Mail-Adresse des Opfers
  3. Angreifer meldet sich via OAuth an – die App gleicht per E-Mail ab und erstellt eine Sitzung für das Opferkonto

Es werden keine Anmeldeinformationen des Opfers benötigt. Der Angreifer benötigt lediglich die E-Mail-Adresse des Opfers und ein Konto bei einem beliebigen OAuth-Anbieter, den das Ziel akzeptiert.

Anforderungen

  • Python 3.8+
  • Nur Standardbibliothek (kein pip install erforderlich)

Verwendung

root@kitploit:~
# Interaktiver Modus (empfohlen)
python3 exploit.py

# Nicht-interaktiver Modus (gepipter Input)
echo | python3 exploit.py

Was der PoC demonstriert

Phase 1: Angreifbarer Handler (E-Mail-Abgleich)

Simuliert AshAuthentications IdentityChange.change/3 mit upsert_identity: :unique_email:

  • Opfer registriert sich mit [email protected] (Rolle: admin)
  • Opfer verknüpft Google OAuth-Konto (sub: google-victim-real-12345)
  • Angreifer registriert sich auf Keycloak mit [email protected] (email_verified: false)
  • Angreifer initiiert OAuth-Login → App gleicht per E-Mail ab → Angreifer erhält die Sitzung des Opfers

Phase 2: Gefixtet Handler – :reject-Richtlinie (Standard)

Simuliert den gepatchten UserResolver mit (Strategie, sub)-Nachschlag:

  • Der sub des Angreifers (keycloak-attacker-fake-789) wird in user_identities nicht gefunden
  • on_untrusted_email_match: :reject blockiert den Login
  • Angriff verhindert

Phase 3: Gefixtet Handler – :confirm-Richtlinie

  • Angreifer versucht OAuth-Login mit der E-Mail des Opfers
  • System sendet einen Bestätigungstoken an die E-Mail des Opfers
  • Identität wird nur verknüpft, wenn das Opfer bestätigt
  • Angriff verhindert (Angreifer kontrolliert das E-Mail-Postfach nicht)

Phase 4: Gefixtet Handler – trust_email_verified? = true

  • Legitimer Benutzer meldet sich via Google mit email_verified: true an → Auto-Verknüpfung erfolgreich
  • Angreifer meldet sich via Keycloak mit email_verified: false an → blockiert
  • Bequemlichkeit für vertrauenswürdige Anbieter erhalten, Sicherheit für nicht vertrauenswürdige

Dateien

DateiBeschreibung
exploit.pyHaupt-PoC-Skript – führt alle 4 Phasen aus
vulnerable_handler.pySimulierte OAuth-Callback-Handler (angreifbar + gefixt)

Der Fix (ash_authentication >= 4.14.0)

  1. UserResolver-Modul – löst Benutzer anhand der (Strategie, sub)-Identität statt per E-Mail auf
  2. on_untrusted_email_match-Option – :reject (Standard), :confirm oder :warn für unbekannte subs
  3. trust_email_verified?-Option – anbieterabhängiges Flag, Standard true für GitHub/Google/Auth0/Slack/Apple
  4. Identitäts-unic-Schlüssel – geändert von (Strategie, uid, user_id) zu (Strategie, uid)
  5. Upsert-Einschränkungen – user_id wird bei Konflikten nie aktualisiert
  6. Compile-Warnungen – für Strategien ohne identity_resource

Referenzen

  • NVD — CVE-2026-49757
  • GHSA-777c-2fxx-qr28
  • OpenID Connect Core §5.7 — Anspruchsstabilität
  • AshAuthentication auf Hex.pm

Haftungsausschluss

Dieser PoC dient ausschließlich zu Bildungs- und Abwehrzwecken. Testen Sie nur an Systemen, die Sie besitzen oder für deren Test Sie eine ausdrückliche Genehmigung haben.

Tool herunterladen