HIGH🇬🇧 English

CVE-2026-53516

Better Auth: Auth Bypass przez nieprawidłowe wiązanie konta OAuth

CVSS 8.3v3.1pub. 2026-07-15upd. 2026-07-21

Podatność w bibliotece Better Auth (TypeScript) umożliwia atakującemu przejęcie konta ofiary poprzez błędną logikę automatycznego łączenia kont OAuth. Atakujący może powiązać tożsamość OAuth ofiary z własnym kontem, omijając weryfikację właściwego stanu emailVerified po stronie lokalnej bazy.

Pokaż oryginał (EN)

Better Auth is an authentication and authorization library for TypeScript. Prior to 1.6.11, Better Auth's OAuth callback auto-link gate in handleOAuthUserInfo accepts implicit account linking when the OAuth provider asserts email_verified: true without requiring the local user row's emailVerified field to also be true, allowing an attacker who pre-registers a victim email through /sign-up/email to bind the victim's OAuth identity to the attacker's account. The same primitive affects one-tap, and emailAndPassword.requireEmailVerification: true does not mitigate the link-time verification change. This issue is fixed in version 1.6.11.

🤖 Analiza AI
Jak działa

Funkcja handleOAuthUserInfo obsługująca callback OAuth akceptuje automatyczne łączenie kont (auto-link), gdy dostawca OAuth zwróci flagę email_verified: true, nie sprawdzając przy tym, czy odpowiadające pole emailVerified w lokalnym rekordzie użytkownika jest również ustawione na true. Atakujący najpierw rejestruje konto przez endpoint /sign-up/email z adresem e-mail należącym do ofiary (bez weryfikacji po stronie lokalnej). Gdy ofiara następnie loguje się przez OAuth z tym samym adresem, jej tożsamość OAuth zostaje powiązana z kontem atakującego. Ten sam mechanizm błędu dotyczy funkcji one-tap, a opcja emailAndPassword.requireEmailVerification: true nie zabezpiecza przed tym scenariuszem.

Skutki

Atakujący uzyskuje pełny dostęp do konta ofiary i może przejąć kontrolę nad jej tożsamością w aplikacji, co oznacza naruszenie poufności i integralności danych.

Mitygacja

Należy zaktualizować bibliotekę Better Auth do wersji 1.6.11, w której problem został naprawiony. Patch dostępny w repozytorium GitHub (commit da7e50b, release v1.6.11).

Kogo dotyczy

Better Auth (biblioteka TypeScript) w wersjach przed 1.6.11

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:L
  • Better Auth

    APP
    Better-Auth
    < 1.6.11
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth Bypass
CWE
Referencje

Powiązane podatności

CVE-2026-53513CRITICAL9.6PL ✓ten sam produkt

SSRF w Better Auth — niezweryfikowane endpointy OIDC w pluginie SSO

CVE-2026-53512CRITICAL9.1PL ✓ten sam produkt

Better Auth: pominięcie weryfikacji client_secret w endpointach OAuth token

CVE-2026-53518HIGH7.6PL ✓ten sam produkt

Race condition w Better Auth umożliwia wielokrotne użycie kodu autoryzacyjnego OAuth2

CVE-2026-45337HIGH7.6PL ✓ten sam produkt

Better Auth: błędna autoryzacja w pluginie deviceAuthorization umożliwia przejęcie sesji urządzenia

CVE-2026-53515HIGH7.1PL ✓ten sam produkt

Better Auth SSO: nieautoryzowana rejestracja dostawcy SSO przez zwykłego członka organizacji