Kwetsbaarheid in pam_oath die root-rechten in het systeem kan verkrijgen

In de PAM-module pam_oath, die deel uitmaakt van het pakket oath-toolkit en wordt gebruikt voor tweefactorauthenticatie met eenmalige wachtwoorden (OTP), is een kwetsbaarheid (CVE-2024-47191) ontdekt die een niet-geprivilegieerde gebruiker in staat stelt om roottoegang in het systeem te verkrijgen.

De pam_oath-module draait met root-rechten en was oorspronkelijk bedoeld voor het opslaan van OATH-sleutels in het bestand /etc/users.oath, waartoe alleen de root-gebruiker toegang heeft. In versie oath-toolkit 2.6.7 werd ondersteuning toegevoegd voor het opslaan van sleutels in de thuisdirectory's van gebruikers (~/.config/users.oath). Niet-geprivilegieerde gebruikers kregen de mogelijkheid om hun sleutels aan te passen, maar pam_oath verlaagde de privileges niet bij het openen van deze bestanden en bleef onveilige methoden gebruiken voor het werken met bestanden, die bedoeld zijn voor bestanden die zijn opgeslagen in een directory die niet kan worden gewijzigd.

De kwetsbaarheid is ontstaan omdat pam_oath na elke succesvolle authenticatie met een eenmalig wachtwoord, het sleuteldocument overschreef om te voorkomen dat hetzelfde wachtwoord meerdere keren werd gebruikt. De overschrijfoperatie bestond uit het aanmaken van een lock-bestand in dezelfde directory, het schrijven van nieuwe inhoud naar een bestand met de extensie '.new' en het vervangen van het oude bestand door de nieuwe versie. Hierbij werd het bestand met de extensie '.new' met dezelfde rechten aangemaakt als het doelbestand, maar de schrijfbewerking werd uitgevoerd door een proces met root-rechten zonder het bestaan van het bestand te controleren.

Als het bestand in een systeemsdirectory was geplaatst, was er geen probleem, maar na de ondersteuning voor het opslaan van sleutels in thuisdirectory's ontstond een gemakkelijk uit te buiten kwetsbaarheid. Voor de aanval is het voldoende om een symbolische link '~/.config/oath.secrets.new' aan te maken en deze naar elk systeembestand te richten, dat zal worden overschreven na succesvolle authenticatie.

Om roottoegang te krijgen, kan de symbolische link naar het bestand /etc/shadow worden gericht. In dit geval zal pam_oath de actuele lijst van sleutels naar /etc/shadow schrijven en de eigenaar en toegangsrechten synchroniseren met het bestand users.oath. Aangezien het bestand users.oath toebehoort aan de gebruiker, zal deze gebruiker als eigenaar van /etc/shadow worden ingesteld, waarna de aanvaller het bestand /etc/shadow kan bewerken en nieuwe inlogparameters voor het root-account kan schrijven.

De kwetsbaarheid doet zich voor vanaf de release van oath-toolkit 2.6.7 en is opgelost (1,2,3) in versie 2.6.12. Het oplossen van de kwetsbaarheid in de distributies kan worden gevolgd op de volgende pagina's: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch. De kwetsbaarheid betreft alleen configuraties waarbij het plaatsen van bestanden met sleutels in de persoonlijke mappen is toegestaan, bijvoorbeeld bij het gebruik in PAM-configuraties van de regel "auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/user.oath".

Bovendien kan de recent ontdekte kwetsbaarheid (CVE-2024-9313) in de PAM-module van het Authd-pakket, ontwikkeld door het Ubuntu-project, worden vermeld. De kwetsbaarheid stelt een gebruiker, die via de Authd-broker wordt beheerd, in staat om zich voor te doen als een andere gebruiker die ook door dezelfde broker wordt beheerd, en succesvol te authentiseren via su, sudo of ssh als een andere gebruiker. Het probleem is opgelost in versie Authd 0.3.5.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster