Vulnerability in pam-u2f allowing bypass of hardware token authentication

Deweloperzy projektu openSUSE zidentyfikowali lukę (CVE-2025-23013) w module PAM pam-u2f, używanym do uwierzytelniania za pomocą tokenów YubiKey, Yubico Security Key, YubiHSM oraz innych urządzeń FIDO wspierających protokoł U2F (Universal 2nd Factor). Luka pozwala użytkownikowi, który ma nieuprzywilejowany dostęp lokalny do systemu, w pewnych konfiguracjach PAM zalogować się bez wstawienia sprzętowego tokena. W praktyce moduł pam-u2f zazwyczaj jest łączony z dwuetapowym lub bezhasłowym uwierzytelnianiem z użyciem tokenów (na przykład do potwierdzania uprawnień przy użyciu narzędzi su i sudo).

Luka spowodowana jest niewłaściwym zwracaniem przez funkcję pam_sm_authenticate() wartości PAM_IGNORE. Wartość ta jest zwracana w przypadku błędu wykonania wywołań gethostname(), pam_modutil_drop_priv(), pam_modutil_regain_priv() lub resolve_authfile_path(), a także w przypadku problemów z alokacją pamięci w strdup() lub calloc(). Problem polega na tym, że biblioteka libpam, otrzymując od modułu PAM wynik z kodem PAM_IGNORE, zwróci wynik końcowy PAM_SUCCESS, co oznacza pomyślne zakończenie uwierzytelniania, jeśli w łańcuchu sprawdzania jakiś inny moduł PAM zwrócił pomyślny wynik uwierzytelnienia.

Podczas korzystania z modułu pam-u2f w połączeniu z pam_unix do dwuetapowego uwierzytelniania, luka pozwala na pomyślne przejście uwierzytelnienia w przypadku pomyślnego sprawdzenia hasła, bez potwierdzenia drugiego czynnika. Przy realizacji bezhasłowego uwierzytelniania za pomocą sprzętowego tokena pam-u2f może być używany w połączeniu z modułem PAM pam_faillock, który ogranicza liczbę prób uwierzytelnienia i zwraca PAM_SUCCESS, jeśli limit nie został wyczerpany.

Przykładem ataku jest obejście weryfikacji tokena podczas wykonywania przez lokalnego użytkownika poleceń z uprawnieniami, przy użyciu narzędzi sudo i su. Podczas uruchamiania tych poleceń atakujący może stworzyć możliwość zwrócenia przez moduł pam-u2f wartości PAM_IGNORE, na przykład poprzez wyczerpanie dostępnej pamięci. Problem został naprawiony w wersji pam-u2f 1.3.1.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster