Katalog CVE

CVE-2026-81637

NiskieCVSS 2.3
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Podatność polegająca na niewystarczającym wygaśnięciu sesji w AshAuthentication umożliwia atakującemu, który zdobędzie wartość stanu OAuth2 ofiary, powtórzenie wywołania zwrotnego i zalogowanie ofiary na konto kontrolowane przez atakującego. Wpis sesji nie jest usuwany w przypadku nieudanego uwierzytelnienia z powodu błędnego zakresu w Elixir, więc wartość ochrony CSRF pozostaje przez anulowane lub nieudane próby aż do kolejnego żądania lub wygaśnięcia sesji.

Ocena ryzyka

Atakujący może przejąć przepływ OAuth2 ofiary i przekierować je na konto kontrolowane przez napastnika, co może prowadzić do przejęcia konta lub nieautoryzowanego dostępu do danych. Narusza to integralność sesji i ochronę CSRF.

Rekomendacja

Zaktualizuj ash_authentication do wersji z poprawką (4.15.0 lub nowszej, 5.0.0-rc.14 lub nowszej) oraz przejrzyj logikę czyszczenia sesji, aby wpisy były usuwane nawet na ścieżkach błędów.

Inne podatności w AshAuthentication

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

Insufficient Session Expiration vulnerability in team-alembic AshAuthentication allows an attacker who obtains a victim's OAuth2 state value to replay the callback and sign that victim into an attacker-controlled account. AshAuthentication.Strategy.OAuth2.Plug.callback/2 clears the stored session_params through a rebinding step inside its with chain, conn <- delete_session(conn, session_key). Elixir evaluates the else block in the scope enclosing the with, so every failure path (the provider returning ?error=access_denied, an invalid code, a token-exchange error, or a registration or sign-in failure) reaches store_authentication_result/2 holding the original connection and the session entry is never removed. The value the module's own comment describes as protection against a CSRF-related attack is therefore consumed only when authentication succeeds, and survives a cancelled or failed attempt until the next request phase or session expiry. This issue affects ash_authentication: from 0.6.0 before 4.15.0 and from 5.0.0-rc.0 before 5.0.0-rc.14.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS