Ranjivost (CVE-2022-4415) je identificirana u komponenti systemd-coredump, koja obrađuje osnovne datoteke generirane nakon pada procesa. Ova ranjivost omogućava neprivilegovanom lokalnom korisniku da odredi sadržaj memorije privilegovanih procesa koji se izvršavaju sa suid root zastavom. Prisustvo problema u zadanoj konfiguraciji potvrđeno je u openSUSE, Arch, Debian, Fedora i SLES.
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 riječima programera systemd-a, ranjivost je prisutna od verzije systemd 247 (novembar 2020.), ali prema riječima istraživača koji je otkrio problem, pogođena je i verzija 246. Ranjivost se manifestuje ako je systemd izgrađen s bibliotekom libacl (zadana u svim popularnim distribucijama). Ispravka je trenutno dostupna kao zakrpa. Status zakrpe za distribucije možete pratiti na sljedećim stranicama: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Kao zaobilazno rješenje, možete postaviti sysctl fs.suid_dumpable na 0, što onemogućava slanje izvoda podataka na systemd-coredump handler.
izvor: opennet.ru
