PAM-moduulis pam_oath, mis kuulub oath-toolkit paketti ja mida kasutatakse kahefaasilises autentimises ühekordselt kasutatavate paroolide (OTP) abil, on avastatud haavatavus (CVE-2024-47191), mis võimaldab mittepriviligeeritud kasutajal saada root-juurdepääs süsteemis.
Modul pam_oath töötab root-käigus ja oli algselt ette nähtud OATH- võtmete paigaldamiseks failis /etc/users.oath, millele ligipääs on ainult root-kasutajal. Oath-toolkit versiooni 2.6.7 lisati tugi võtmefailide paigaldamiseks kasutaja kodukataloogidesse (~/.config/users.oath). Mittepriviligeeritud kasutajad said võimaluse muuta oma võtmefaile, kuid pam_oath ei kaotanud õigusi, kui ta nende failidega töötas, ja jätkas failide töötlemist ebaõigete meetoditega, mis olid mõeldud failide jaoks, mis asuvad muutmiseks suletud kataloogis.
Haavatavus tuleneb asjaolust, et pärast iga edukat ühekordse parooli autentimist, pam_oath kirjutas võtmefaili uuesti, et vältida sama parooli korduvat kasutamist. Kirjutamise protseduur koosnes lukufaili loomisega samas kataloogis, uue sisu kirjutamisest failile, millel on laiend «.new», ja vanale failile uue variandi asendamisest. Samas loodi fail, millel on laiend «.new», sama õigustega nagu sihtfail, kuid selle kirjutamise viis oli root-käigus ja ilma faili olemasolu kontrollimata.
Kui fail asus süsteemikataloogis, ei tekkinud probleeme, kuid pärast tugi lisamist võtmefailide kodukataloogidesse tekkis kergesti ära kasutatav haavatavus. Rünnaku jaoks on piisav, et luua sümboolne lingi «~/.config/oath.secrets.new» ja suunata see iga süsteemifaili, mis kirjutatakse üle pärast edukat autentimist.
Root-juurdepääsu saamiseks saab suunata sümboolse lingi faili /etc/shadow. Sellisel juhul kirjutab pam_oath faili /etc/shadow aktiivse võtmete nimekirja ja sünkroniseerib omaniku ja õigused users.oath failiga. Kuna users.oath fail kuulub kasutajale, siis määratakse /etc/shadow omanikuks see kasutaja, pärast mida ründaja saab redigeerida faili /etc/shadow ja salvestada sinna uued sisselogimise parameetrid root-konto jaoks.
Haavatavus ilmneb alates oath-toolkit versioonist 2.6.7 ja on kõrvaldatud (1,2,3) versioonis 2.6.12. Haavatavuse kõrvaldamist distrosides saab jälgida nendel lehtedel: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch. Haavatavus mõjutab ainult konfiguratsioone, kus on lubatud võtta võtmefaile kodukataloogides, näiteks PAM-i seadistustes, kus on rida «auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/user.oath».
Lisaks võib mainida hiljuti avastatud haavatavust (CVE-2024-9313) PAM-moduulis, mis kuulub Authd paketti, mida arendab Ubuntu projekt. Haavatavus võimaldab Authd vahendaja kaudu hallataval kasutajal esitada end mis tahes teise selle sama vahendaja kaudu hallatava kasutajana ning edukalt autentida end su, sudo või ssh kaudu teise kasutajana. Probleem on kõrvaldatud Authd versioonis 0.3.5.
Allikas: opennet.ru
