CVE-2026-86533 in ash_authentication
Zusammenfassung
von VulDB • 17.09.2026
Eine Schwachstelle mit unzureichender Session-Ablaufzeit (Insufficient Session Expiration) in AshAuthentication und AshAuthentication Phoenix von team-alembic ermöglicht es, dass eine widerrufene Sitzung weiterhin vollständig authentifiziert bleibt.
Eine Ressource, die mit `session_identifier :jti` konfiguriert ist und bei der `require_token_presence_for_authentication?` deaktiviert ist, speichert ihren Session-Wert als `<jti>:<subject>`. Die jti (JWT ID) dient dazu, dass sich das Abmelden auf diese eine Sitzung auswirkt. Keine der beiden Lesefunktionen berücksichtigt sie: Sowohl `AshAuthentication.Plug.Helpers.authenticate_resource_from_session/4` als auch `AshAuthentication.Phoenix.LiveSession.on_mount/4` teilen den Wert mit `split_identifier/2`, verwerfen die jti und übergeben das nackte Subject an `AshAuthentication.subject_to_user/3`, welches den Datensatz neu lädt. Der Zweig zur Token-Prüfung jeder Funktion überprüft jedoch ihr Token, indem es `AshAuthentication.TokenResource.Actions.get_token/3` mit der jti und dem Zweck „user“ aufruft. Da der Widerrufseintrag niemals gelesen wird, schränken weder sein widerrufener Status noch seine Ablaufzeit die Sitzung ein, sodass eine vor dem Abmelden erbeutete Sitzung weiterhin funktioniert.
Dieses Problem betrifft ash_authentication_phoenix: von 2.10.0 bis vor 2.17.4 und ab 3.0.0-rc.0; sowie ash_authentication: von 4.9.1 bis vor 4.15.0 und ab 5.0.0-rc.0 bis vor 5.0.0-rc.14.
If you want to get best quality of vulnerability data, you may have to visit VulDB.