Razvijači projekta openSUSE otkrili su ranjivost (CVE-2025-23013) u PAM-modulu pam-u2f, koji se koristi za autentifikaciju putem YubiKey, Yubico Security Key, YubiHSM i drugih FIDO uređaja koji podržavaju U2F (Universal 2nd Factor) protokol. Ranjivost omogućava korisniku s nepriviligiranim lokalnim pristupom sustavu da, u određenim PAM konfiguracijama, prođe autentifikaciju bez umetanja hardverskog tokena. U praksi se modul pam-u2f najčešće koristi za dvostruku autentifikaciju ili autentifikaciju bez lozinke koristeći tokene (na primjer, za potvrdu ovlasti za izvršavanje naredbi putem alata su i sudo).
Ranjivost je uzrokovana neispravnim vraćanjem vrijednosti PAM_IGNORE od strane funkcije pam_sm_authenticate(). Ova vrijednost se vraća u slučaju greške prilikom izvođenja upita gethostname(), pam_modutil_drop_priv(), pam_modutil_regain_priv() ili resolve_authfile_path(), kao i pri problemima s dodjelom memorije u strdup() ili calloc(). Problem je u tome što knjižnica libpam, primivši od PAM-modula rezultat s kodom PAM_IGNORE, vraća konačni kod PAM_SUCCESS, koji označava uspješan prolaz autentifikacije ako je neki drugi PAM-modul u lancu provjere vratio uspješan rezultat autentifikacije.
Korištenjem modula pam-u2f u kombinaciji s pam_unix za dvostruku autentifikaciju, ranjivost omogućava uspješno prolaz kroz autentifikaciju u slučaju uspješnog provjere lozinke, bez potvrde drugog faktora. Pri izvođenju autentifikacije bez lozinke putem hardverskog tokena, pam-u2f se može koristiti u kombinaciji s PAM-modulom pam_faillock, koji ograničava broj pokušaja autentifikacije i vraća PAM_SUCCESS ako limit nije dostignut.
Kao primjer napada navodi se zaobilaženje provjere tokena prilikom izvođenja privilegiranih komandi od strane lokalnog korisnika, koristeći alate sudo i su. Tijekom pokretanja ovih komandi, napadač može stvoriti uvjete za vraćanje vrijednosti PAM_IGNORE putem modula pam-u2f, na primjer, kroz iscrpljivanje dostupne memorije. Problem je ispravljen u verziji pam-u2f 1.3.1.
Izvor: opennet.ru
