CRITICAL🇬🇧 English

CVE-2024-47070

Pominięcie uwierzytelnienia przez nagłówek X-Forwarded-For w authentik

CVSS 9.0v3.1pub. 2024-09-27upd. 2025-08-21

Podatność w open-source identity providerze authentik umożliwia ominięcie etapu weryfikacji hasła poprzez przesłanie nagłówka X-Forwarded-For zawierającego nieparsowany adres IP. Skutkuje to możliwością zalogowania się na dowolne konto, dla którego znany jest login lub adres e-mail.

Pokaż oryginał (EN)

authentik is an open-source identity provider. A vulnerability that exists in versions prior to 2024.8.3 and 2024.6.5 allows bypassing password login by adding X-Forwarded-For header with an unparsable IP address, e.g. `a`. This results in a possibility of logging into any account with a known login or email address. The vulnerability requires the authentik instance to trust X-Forwarded-For header provided by the attacker, thus it is not reproducible from external hosts on a properly configured environment. The issue occurs due to the password stage having a policy bound to it, which skips the password stage if the Identification stage is setup to also contain a password stage. Due to the invalid X-Forwarded-For header, which does not get validated to be an IP Address early enough, the exception happens later and the policy fails. The default blueprint doesn't correctly set `failure_result` to `True` on the policy binding meaning that due to this exception the policy returns false and the password stage is skipped. Versions 2024.8.3 and 2024.6.5 fix this issue.

🤖 Analiza AI
Jak działa

Etap weryfikacji hasła (password stage) posiada przypisaną politykę, która pomija ten etap, jeśli Identification stage jest skonfigurowany do obsługi hasła. Gdy atakujący przesyła nagłówek X-Forwarded-For z nieprawidłową wartością (np. literą 'a'), walidacja adresu IP nie następuje wystarczająco wcześnie — wyjątek jest rzucany później, co powoduje błąd wykonania polityki. Ponieważ domyślny blueprint nieprawidłowo ustawia parametr failure_result na False zamiast True w powiązaniu polityki, nieobsłużony wyjątek skutkuje zwróceniem wartości false i całkowitym pominięciem etapu weryfikacji hasła. Atak jest możliwy wyłącznie wtedy, gdy instancja authentik jest skonfigurowana do ufania nagłówkowi X-Forwarded-For pochodzącemu od atakującego.

Skutki

Atakujący znający login lub adres e-mail użytkownika może zalogować się na jego konto bez znajomości hasła, co prowadzi do pełnego przejęcia konta i naruszenia poufności, integralności oraz dostępności zasobów chronionych przez authentik.

Mitygacja

Należy zaktualizować authentik do wersji 2024.8.3 lub 2024.6.5 (w zależności od używanej gałęzi), które zawierają poprawkę tego błędu. Dodatkowo, jako środek zaradczy, należy upewnić się, że instancja authentik nie ufa nagłówkowi X-Forwarded-For pochodzącemu z niezaufanych źródeł zewnętrznych.

Kogo dotyczy

authentik (Goauthentik) w wersjach wcześniejszych niż 2024.8.3 oraz wcześniejszych niż 2024.6.5

Uwagi

Podatność jest niereprodukowana z zewnętrznych hostów w poprawnie skonfigurowanym środowisku, w którym instancja nie ufa nagłówkowi X-Forwarded-For od atakującego. Poprawki dostępne w commitach: 78f7b04d oraz dd8f8091 w repozytorium GitHub projektu.

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Goauthentik Authentik

    APP
    Goauthentik
    < 2024.6.52024.8.0 – 2024.8.3 (bez)
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Auth Bypass
CWE
Referencje

Powiązane podatności

CVE-2026-42849CRITICAL9.3PL ✓ten sam produkt

XSS w AutosubmitStage komponentu SFE w Goauthentik Authentik

CVE-2026-49448CRITICAL9.8PL ✓ten sam produkt

Pominięcie etapu uwierzytelniania (Source Stage) w Goauthentik Authentik

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

RCE w authentik przez endpoint testowy mapowania właściwości

CVE-2023-46249CRITICAL9.6ten sam produkt

authentik is an open-source Identity Provider. Prior to versions 2023.8.4 and 2023.10.2, when the default admi...

CVE-2023-26481CRITICAL9.1ten sam produkt

authentik is an open-source Identity Provider. Due to an insufficient access check, a recovery flow link that ...