Sårbarhed i pam_oath, der giver mulighed for at få root-rettigheder i systemet

I PAM-modulet pam_oath, som er en del af pakken oath-toolkit og bruges til to-faktor-autentifikation med engangskoder (OTP), er der opdaget en sårbarhed (CVE-2024-47191), der giver en ikke-privilegeret bruger mulighed for at opnå root-adgang i systemet.

Modulet pam_oath kører med root-rettigheder og var oprindeligt designet til at opbevare OATH-nøgler i filen /etc/users.oath, som kun brugeren root har adgang til. I version 2.6.7 af oath-toolkit blev der tilføjet support til at placere nøglefiler i brugernes hjemmemapper (~/.config/users.oath). Ikke-privilegerede brugere fik mulighed for at ændre filer med deres nøgler, men pam_oath nulstillede ikke privilegierne, når der blev adgang til disse filer, og fortsatte med at bruge usikre metoder til filhåndtering, der var beregnet til filer, der var placeret i et uændret katalog.

Sårbarheden skyldes, at efter hver vellykket autentifikation med en engangskode udførte pam_oath en overskrivning af nøglefilen for at undgå, at den samme kode blev brugt flere gange. Overskrivningsprocessen indebærer at oprette en lock-fil i samme katalog, skrive det nye indhold til en fil med endelsen «.new» og erstatte den gamle fil med den nye. Filen med endelsen «.new» blev oprettet med de samme rettigheder som målfilen, men skrivning til den blev udført af en proces med root-rettigheder og uden at kontrollere eksistensen af filen.

Hvis filen blev placeret i et systemkatalog, opstod der ingen problemer, men efter at understøttelsen af nøglefiler i hjemmemapper blev tilføjet, opstod der en let udnyttelig sårbarhed. For at udføre et angreb er det nok at oprette et symbolsk link «~/.config/oath.secrets.new» og pege det på en hvilken som helst systemfil, der vil blive overskrevet efter vellykket autentifikation.

For at opnå root-adgang kan man pege det symbolske link på filen /etc/shadow. I dette tilfælde vil pam_oath skrive den aktuelle liste over nøgler til /etc/shadow og synkronisere ejer og adgangsrettigheder med filen users.oath. Da filen users.oath tilhører brugeren, vil ejeren af /etc/shadow blive denne bruger, hvorefter angriberen vil kunne redigere filen /etc/shadow og skrive nye loginparametre for root-kontoen.

Sikkerhedshullet opstod fra version 2.6.7 af oath-toolkit og blev rettet (1,2,3) i version 2.6.12. Du kan følge op på rettelsen af sikkerhedshullet i distributionerne på følgende sider: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch. Sikkerhedshullet påvirker kun konfigurationer, hvor det er tilladt at placere filer med nøgler i hjemmekataloger, f.eks. ved brug af linjen i PAM-indstillingerne "auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/user.oath".

Derudover kan der nævnes et nyligt opdaget sikkerhedshul (CVE-2024-9313) i PAM-modulet fra Authd-pakken, der er udviklet af Ubuntu-projektet. Sikkerhedshullet gør det muligt for en bruger, der styres gennem Authd-mægleren, at udgive sig for enhver anden bruger, der også styres af den samme mægler, og dermed lykkes med at autentificere sig som en anden bruger via su, sudo eller ssh. Problemet er løst i Authd version 0.3.5.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster