Ranjivost u systemd-coredumpu koja omogućava određivanje sadržaja memorije suid programa

Identifikovana je ranjivost (CVE-2022-4415) u komponenti systemd-coredump, koja obrađuje osnovne datoteke generisane nakon pada procesa, omogućavajući neprivilegovanom lokalnom korisniku da odredi sadržaj memorije privilegovanih procesa koji se pokreću sa suid root zastavicom. Zadani problem konfiguracije je potvrđen na openSUSE, Arch, Debian, Fedora i SLES distribucijama.

Ranjivost je uzrokovana nedostatkom ispravne obrade parametra fs.suid_dumpable sysctl u systemd-coredump, koji, kada je postavljen na zadanu vrijednost 2, omogućava generiranje dumpova jezgra za procese sa suid zastavicom. Podrazumijeva se da osnovne datoteke suid procesa koje je napisao kernel moraju imati postavljena prava pristupa tako da dozvoljavaju čitanje samo od strane root korisnika. Uslužni program systemd-coredump, koji kernel poziva da bi sačuvao osnovne datoteke, pohranjuje core fajl pod root ID-om, ali dodatno pruža pristup za čitanje temeljnim datotekama baziran na ACL-u na osnovu ID-a vlasnika koji je prvobitno pokrenuo proces .

Ova funkcija vam omogućava da preuzmete osnovne datoteke bez obzira na činjenicu da program može promijeniti korisnički ID i pokrenuti se s povišenim privilegijama. Napad se svodi na činjenicu da korisnik može pokrenuti suid aplikaciju i poslati joj SIGSEGV signal, a zatim učitati sadržaj osnovne datoteke, koja uključuje memorijski dio procesa tokom abnormalnog prekida.

Na primjer, korisnik može pokrenuti “/usr/bin/su” i na drugom terminalu prekinuti njegovo izvršavanje naredbom “kill -s SIGSEGV `pidof su`”, nakon čega će systemd-coredump spremiti core fajl u /var /lib/systemd/ coredump direktorija, postavljajući ACL za njega koji dozvoljava čitanje od strane trenutnog korisnika. Pošto uslužni program suid 'su' čita sadržaj /etc/shadow u memoriju, napadač može dobiti pristup informacijama o hešovima lozinki svih korisnika na sistemu. Uslužni program sudo nije podložan napadima, jer zabranjuje generiranje osnovnih datoteka putem ulimit-a.

Prema programerima systemd-a, ranjivost se pojavljuje počevši od systemd izdanja 247 (novembar 2020.), ali prema istraživaču koji je identifikovao problem, pogođeno je i izdanje 246. Ranjivost se pojavljuje ako se systemd kompajlira sa libacl bibliotekom (podrazumevano u sve popularne distribucije). Ispravka je trenutno dostupna kao zakrpa. Možete pratiti popravke u distribucijama na sljedećim stranicama: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Kao sigurnosno rješenje, možete postaviti sysctl fs.suid_dumpable na 0, što onemogućuje slanje dumpova rukovaocu systemd-coredump.

izvor: opennet.ru

Dodajte komentar