CVE-2025-71403
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
better-auth przed wersją 1.1.20 zawiera podatność obejścia w logice walidacji trustedOrigins dla bezwzględnych adresów URL i domen z symbolami wieloznacznymi. Atakujący może skonstruować złośliwy parametr callbackURL, który przechodzi kontrolę pochodzenia i powoduje otwarte przekierowanie, umożliwiając kradzież wrażliwych tokenów i przejęcie konta.
Ocena ryzyka
Atakujący może przejąć konto użytkownika poprzez kradzież tokenów uwierzytelniających, co może prowadzić do nieautoryzowanego dostępu do danych i funkcji.
Rekomendacja
Zaleca się natychmiastową aktualizację better-auth do wersji 1.1.20 lub nowszej.
Inne podatności w better-auth
Zobacz wszystkie- CVE-2026-114607Krytyczne
Better Auth to biblioteka uwierzytelniania i autoryzacji dla TypeScript. Od wersji 1.4.0-beta.18 do 1.7.7 wdrożenia, które włączają Magic Link z storeToken ustawionym na plain lub z storeToken ustawionym na hashed i globalnym ustawieniem verification.storeIdentifier również ustawionym na hashed, włączają wbudowanego dostawcę społecznościowego lub Generic OAuth oraz używają account.storeStateStrategy ustawionego na database, mogą przyjąć wartość stanu logowania OAuth jako token Magic Link. Te ustawienia mogą powodować, że rekordy weryfikacji Magic Link i stan OAuth rozwiązują się do tego samego przechowywanego identyfikatora, pozwalając nieuwierzytelnionemu atakującemu rozpocząć logowanie OAuth dla znanego adresu e-mail i wykorzystać zwrócony stan poprzez Magic Link bez kontroli skrzynki pocztowej lub ukończenia callbacku dostawcy. Atakujący może uzyskać normalną sesję dla istniejącego użytkownika lub utworzyć konto błędnie oznaczone jako zweryfikowane e-mailem, gdy rejestracja jest włączona. Problem naprawiono w wersji 1.7.7.
- CVE-2026-110862Krytyczne
Better Auth od wersji 1.4.0-beta.18 przed 1.7.7 zawiera lukę obejścia uwierzytelniania, która pozwala nieuwierzytelnionym atakującym zalogować się jako inni użytkownicy poprzez ponowne użycie wartości stanu OAuth jako tokenów Magic Link. Atakujący może rozpocząć logowanie OAuth z adresem e-mail ofiary i przesłać zwrócony stan do weryfikacji Magic Link, uzyskując sesje lub tworząc fałszywie zweryfikowane konta e-mail.
- CVE-2026-53513Krytyczne
Biblioteka Better Auth w wersji przed 1.6.11 zawiera podatność w pluginie @better-auth/sso. Punkty końcowe POST /sso/register i POST /sso/update-provider akceptują kontrolowane przez atakującego adresy URL (oidcConfig.userInfoEndpoint, tokenEndpoint, jwksEndpoint) przy włączonej opcji skipDiscovery: true, przechowują je bez walidacji pochodzenia i pobierają podczas wywołania zwrotnego OIDC, co umożliwia nieślepe fałszerstwo żądań po stronie serwera (SSRF) oraz potencjalne łączenie kont, gdy trustEmailVerified: true jest skonfigurowane.
- CVE-2026-53512Krytyczne
Biblioteka Better Auth przed wersją 1.6.11 zawiera podatność w pluginach legacy oidcProvider i mcp, gdzie endpointy tokenów OAuth uwierzytelniają jedynie posiadanie ważnego refresh_token i client_id, bez weryfikacji client_secret. Pozwala to atakującemu z ważnym refresh_token na generowanie nowych tokenów dostępu i odświeżonych tokenów przez /api/auth/oauth2/token lub /api/auth/mcp/token.
- CVE-2025-61928Krytyczne
W bibliotece Better Auth w wersjach przed 1.3.26 nieuwierzytelniony atakujący może tworzyć lub modyfikować klucze API dowolnego użytkownika, przekazując jego identyfikator w treści żądania do endpointu api/auth/api-key/create. Gdy nie ma sesji, ale w treści żądania występuje userId, flaga authRequired staje się fałszywa, a walidacja pól wykonywana tylko przy authRequired true zostaje pominięta, co pozwala ustawiać uprzywilejowane pola. Ten sam wzorzec występuje w endpoincie aktualizacji; luka stanowi krytyczne obejście uwierzytelniania i została naprawiona w wersji 1.3.26.
- CVE-2026-110864Wysokie
Better Auth w wersjach od 1.5.0-beta.12 do 1.7.7 zawiera podatność obejścia uwierzytelniania w pluginie OAuth Proxy pozwalającą nieuwierzytelnionym atakującym zalogować się jako inni użytkownicy poprzez sfałszowanie zaszyfrowanych profili. Gdy proxy współdzieli globalny sekret, a stan przechowywany w cookie jest używany, atakujący może uzyskać zaszyfrowany stan dla fałszywego profilu ze zweryfikowanym adresem e-mail ofiary, aby przejąć konto poprzez niejawne powiązanie.
- CVE-2026-110861Niskie
W Better Auth (@better-auth/drizzle-adapter i better-auth od 1.6.17 przed 1.7.7 oraz @better-auth/kysely-adapter od 1.6.17 przed 1.7.0) występuje warunek wyścigu w ograniczaniu liczby żądań opartym na bazie danych PostgreSQL — sprawdzenie limitu nie jest atomowe względem aktualizacji licznika. Zdalni atakujący mogą wysyłać serie równoczesnych żądań, które wspólnie przechodzą sprawdzenie, przekraczając skonfigurowane limity dla logowania hasłem, weryfikacji dwuskładnikowej, kodów jednorazowych, resetu hasła i innych chronionych punktów końcowych.
- CVE-2026-109346Wysokie
better-auth w wersjach od 1.3.8-beta.3 do 1.7.0-rc.3 zawiera podatność polegającą na błędnym przedstawieniu interfejsu w pluginie deviceAuthorization, ponieważ GET /device pomija identyfikator klienta i zakres. Atakujący może rozpocząć żądanie urządzenia przez /device/code, nakłonić zalogowanych użytkowników do zatwierdzenia kodu, a następnie wykorzystać go w /device/token do uzyskania aktywnego tokena sesji.
- CVE-2025-71401Średnie
Biblioteka better-auth (npm) przed wersją 1.4.2 pozwala na zewnętrzne żądanie skonfigurowania baseURL, gdy nie jest on zdefiniowany (np. BETTER_AUTH_URL nie jest ustawione). Atakujący, który wykona pierwsze żądanie do serwera po uruchomieniu, może zatruć bazową ścieżkę routera, powodując zwracanie 404 dla wszystkich tras i użytkowników (odmowa usługi). Problem nie występuje, gdy baseURL jest jawnie skonfigurowane lub na typowych platformach hostingowych.
- CVE-2025-71400Wysokie
better-auth passkey przed wersją 1.4.0 zawiera podatność na niebezpieczne bezpośrednie odwołanie do obiektu w punkcie końcowym usuwania passkey. Uwierzytelnieni użytkownicy mogą usuwać dowolne passkey innych użytkowników.
Oryginalny opis (angielski, źródło NVD)
better-auth versions before 1.1.20 contain a bypass vulnerability in trustedOrigins validation logic affecting absolute URLs and wildcard domains. Attackers can construct malicious callbackURL parameters that pass origin checks and trigger open redirects to steal sensitive tokens for account takeover.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

