Në modulimin PAM pam_oath, që bën pjesë në paketën oath-toolkit dhe përdoret për autentifikim me dy faktorë duke përdorur fjalëkalime një herëshe (OTP), është identifikuar një dobësi (CVE-2024-47191) që i lejon një përdoruesi pa privilegje të fitojë qasje root në sistem.
Moduli pam_oath ekzekutohet me të drejta root dhe fillimisht ishte menduar për vendosjen e çelësave OATH në skedarin /etc/users.oath, të cilin e ka vetëm përdoruesi root. Në versionin oath-toolkit 2.6.7 u shtua mbështetje për vendosjen e skedarëve me çelësa në katalogët e shtëpisë së përdoruesve (~/.config/users.oath). Përdoruesit e pa privilegjuar morën mundësinë të ndryshonin skedarët me çelësat e tyre, por pam_oath, kur i qaset këtyre skedarëve, nuk e uli privilegjin dhe vazhdoi të përdorte metoda të pasigurta për punën me skedarët, menduar për skedarë që janë vendosur në një katalog që nuk është i ndryshueshëm.
Dobësia shkaktohet sepse pas çdo autentifikimi të suksesshëm me fjalëkalim një herëshe, pam_oath bënte ripërshtatjen e skedarit me çelësat për të shmangur përdorimin e një fjalëkalimi më shumë se një herë. Operacioni i ripërshtatjes përfshinte krijimin e një skedari lock në të njëjtin katalog, regjistrimin e përmbajtjes së re në një skedar me zgjerimin «.new» dhe zëvendësimin e skedarit të vjetër me variantin e ri. Gjatë kësaj, skedari me zgjerimin «.new» krijohej me të njëjtat të drejta si skedari që po synohej, por regjistrimi në të bëhej nga procesi me të drejta root dhe pa kontrollin e ekzistencës së skedarit.
Nëse skedari vendosej në katalogun sistemor nuk kishte probleme, por pas shfaqjes së mbështetjes për vendosjen e skedarëve me çelësa në katalogët e shtëpisë, u shfaq një dobësi e lehtë për t'u shfrytëzuar. Për të sulmuar, mjafton të krijoni një lidhje simbolike «~/.config/oath.secrets.new» dhe ta drejtoni atë në çdo skedar sistemor, i cili do të ripërshtatet pas një autentifikimi të suksesshëm.
Për të fituar qasje root, mund të drejtoni lidhjen simbolike në skedarin /etc/shadow. Në këtë rast, pam_oath do të shkruajë në /etc/shadow listën aktuale të çelësave dhe do të sinkronizojë pronarin dhe të drejtat e qasjes me skedarin users.oath. Duke qenë se skedari users.oath i përket përdoruesit, si pronar i /etc/shadow do të vendoset ky përdorues, pas së cilës sulmuesi do të mund të redaktojë skedarin /etc/shadow dhe të regjistrojë parametrat e rinj të hyrjes për llogarinë root.
Dobësia shfaqet që nga lëshimi i oath-toolkit 2.6.7 dhe u rregullua (1,2,3) në versionin 2.6.12. Mund të ndjekësh rregullimin e dobësisë në distribucione të ndryshme në këto faqe: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch. Dobësia preku vetëm konfigurimet ku lejohej vendosja e skedarëve me çelësa në katalogët e shtëpisë, për shembull, duke përdorur në pikët e konfiguruara PAM stringun «auth [user_unknown=ignore success=ok] pam_oath.so usersfile=${HOME}/user.oath».
Përveç kësaj, mund të përmendim një dobësi të zbuluar para disa ditësh (CVE-2024-9313) në modulimin PAM nga paketa Authd, e zhvilluar nga projekti Ubuntu. Dobësia i lejon një përdoruesi, i menaxhuar përmes brokerit Authd, të paraqitet si çdo përdorues tjetër, i menaxhuar nga të njëjtin broker, dhe të kalojë me sukses autentifikimin përmes su, sudo ose ssh si një përdorues tjetër. Problemi u rregullua në versionin Authd 0.3.5.
Burimi: opennet.ru
