Dobësi në systemd-coredump, duke lejuar përcaktimin e përmbajtjes së kujtesës së programeve suid

Një dobësi (CVE-2022-4415) është identifikuar në komponentin systemd-coredump, i cili përpunon skedarët bazë të krijuar pas dështimit të proceseve, duke lejuar një përdorues lokal të paprivilegjuar të përcaktojë përmbajtjen e kujtesës së proceseve të privilegjuara që ekzekutohen me flamurin rrënjë suid. Çështja e konfigurimit të paracaktuar është konfirmuar në shpërndarjet openSUSE, Arch, Debian, Fedora dhe SLES.

Dobësia shkaktohet nga mungesa e përpunimit të saktë të parametrit fs.suid_dumpable sysctl në systemd-coredump, i cili, kur vendoset në vlerën e paracaktuar prej 2, lejon gjenerimin e deponive thelbësore për proceset me flamurin suid. Kuptohet që skedarët bazë të proceseve suid të shkruara nga kerneli duhet të kenë të drejta aksesi të vendosura për të lejuar leximin vetëm nga përdoruesi rrënjë. Programi systemd-coredump, i cili thirret nga kerneli për të ruajtur skedarët kryesorë, ruan skedarin bazë nën ID-në rrënjë, por gjithashtu ofron akses leximi të bazuar në ACL në skedarët bazë bazuar në ID-në e pronarit që fillimisht e nisi procesin .

Kjo veçori ju lejon të shkarkoni skedarë bazë pa marrë parasysh faktin se programi mund të ndryshojë ID-në e përdoruesit dhe të funksionojë me privilegje të ngritura. Sulmi zbret në faktin se një përdorues mund të lëshojë një aplikacion suid dhe t'i dërgojë atij një sinjal SIGSEGV, dhe më pas të ngarkojë përmbajtjen e një skedari bazë, i cili përfshin një pjesë memorie të procesit gjatë një përfundimi jonormal.

Për shembull, një përdorues mund të ekzekutojë "/usr/bin/su" dhe në një terminal tjetër të përfundojë ekzekutimin e tij me komandën "kill -s SIGSEGV `pidof su`", pas së cilës systemd-coredump do të ruajë skedarin bazë në /var /lib/systemd/ directory coredump, duke vendosur një ACL për të që lejon leximin nga përdoruesi aktual. Meqenëse programi suid 'su' lexon përmbajtjen e /etc/shadow në memorie, një sulmues mund të ketë akses në informacionin rreth hash-eve të fjalëkalimit të të gjithë përdoruesve në sistem. Shërbimi sudo nuk është i ndjeshëm ndaj sulmit, pasi ndalon gjenerimin e skedarëve bazë nëpërmjet ulimit.

Sipas zhvilluesve të systemd, cenueshmëria shfaqet duke filluar me versionin systemd 247 (nëntor 2020), por sipas studiuesit që identifikoi problemin, ndikohet edhe lëshimi 246. Dobësia shfaqet nëse systemd përpilohet me bibliotekën libacl (si parazgjedhje në të gjitha shpërndarjet popullore). Rregullimi është aktualisht i disponueshëm si një patch. Mund të gjurmoni rregullimet në shpërndarjet në faqet e mëposhtme: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Si një zgjidhje sigurie, mund ta caktoni sysctl fs.suid_dumpable në 0, gjë që çaktivizon dërgimin e deponive te trajtuesi systemd-coredump.

Burimi: opennet.ru

Shto një koment