Identificirana je ranjivost (CVE-2024-47191) u modulu pam_oath PAM, koji je dio paketa oath-toolkit i koristi se za dvofaktorsku autentifikaciju pomoću jednokratnih lozinki (OTP), što omogućuje neprivilegiranom korisniku dobiti root pristup sustavu.
Modul pam_oath radi kao root i izvorno je dizajniran za postavljanje OATH ključeva u datoteku /etc/users.oath, kojoj može pristupiti samo root korisnik. Verzija oath-toolkit 2.6.7 dodala je podršku za smještaj ključnih datoteka u korisničke početne direktorije (~/.config/users.oath). Korisnici bez privilegija mogli su mijenjati datoteke svojim ključevima, ali pam_oath nije poništio privilegije prilikom pristupa tim datotekama i nastavio je koristiti nesigurne metode za rad s datotekama, na temelju činjenice da su se datoteke nalazile u direktoriju koji nije bio dostupan za izmjene .
Ranjivost je uzrokovana činjenicom da bi nakon svake uspješne provjere autentičnosti jednokratne lozinke pam_oath prebrisao ključnu datoteku kako bi spriječio višestruko korištenje iste lozinke. Operacija prepisivanja sastojala se od stvaranja zaključane datoteke u istom direktoriju, pisanja novog sadržaja u datoteku s nastavkom ".new" i zamjene stare datoteke novom verzijom. U ovom slučaju stvorena je datoteka s ekstenzijom “.new” s istim pravima kao i ciljna datoteka, ali je u nju upisao proces s root pravima i bez provjere postojanja datoteke.
Ako je datoteka smještena u sistemski direktorij nije bilo problema, ali nakon što je podrška za smještaj datoteka s ključevima u matične direktorije postala dostupna, pojavila se ranjivost koja se lako može iskoristiti. Za napad jednostavno stvorite simboličku poveznicu “~/.config/oath.secrets.new” i usmjerite je na bilo koju sistemsku datoteku koja će biti prebrisana nakon uspješne provjere autentičnosti.
Za dobivanje root pristupa, možete usmjeriti simboličku vezu na datoteku /etc/shadow. U ovom slučaju, pam_oath će napisati trenutni popis ključeva u /etc/shadow i sinkronizirati vlasnika i dopuštenja s datotekom users.oath. Budući da datoteka users.oath pripada korisniku, ovaj će korisnik biti postavljen kao vlasnik datoteke /etc/shadow, nakon čega napadač može urediti datoteku /etc/shadow i u nju upisati nove parametre prijave za root račun.
Ranjivost je prisutna od verzije oath-toolkit 2.6.7 i ispravljena je (1, 2, 3) u verziji 2.6.12. Napredak ove ranjivosti u distribucijama možete pratiti na ovim stranicama: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch. Ranjivost utječe samo na konfiguracije koje dopuštaju smještaj ključnih datoteka u početne direktorije, na primjer, kada se u postavkama PAM-a koristi redak "auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/user.oath".
Osim toga, možemo spomenuti ranjivost (CVE-2024-9313) nedavno otkrivenu u PAM modulu iz Authd paketa razvijenog u okviru projekta. UbuntuRanjivost omogućuje korisniku kojim upravlja Authd broker da se lažno predstavlja kao bilo koji drugi korisnik kojim upravlja isti broker i uspješno se autentificira putem su, sudo ili ssh naredbi kao drugi korisnik. Problem je ispravljen u verziji Authd 0.3.5.
Izvor: opennet.ru
