Systemd-coredumpi haavatavus, mis võimaldab määrata suid-programmide mälu sisu

Systemd-coredump komponendis, mis käsitleb protsesside krahhide järel genereeritud põhifaile, on tuvastatud haavatavus (CVE-2022-4415). See haavatavus võimaldab privilegeerimata kohalikul kasutajal määrata suid root lipuga töötavate privilegeeritud protsesside mälusisu. Probleemi olemasolu vaikekonfiguratsioonis on kinnitatud openSUSE, Arch, Debian, Fedora и SLES.

Haavatavuse põhjuseks on systemd-coredumpi parameetri fs.suid_dumpable sysctl valest käsitlemisest. Selle vaikeväärtus 2 lubab tuumatõmmise genereerimist suid-lipuga protsessidele. Kerneli poolt suid-protsesside jaoks kirjutatud tuumafailidel peavad olema ainult root-kasutajatele mõeldud lugemisõigused. Utiliit systemd-coredump, mida kernel tuumafailide salvestamiseks kutsub, salvestab tuumafaili root-kasutaja kasutajatunnuse alla, kuid annab lisaks juurdepääsu tuumafailidele ACL-i alusel, lubades lugemisõigust protsessi omaniku ID alusel, mis selle algselt käivitas.

See funktsioon võimaldab laadida põhifaile arvestamata programmi võimet muuta kasutajatunnust ja töötada kõrgendatud õigustega. Rünnak hõlmab kasutaja poolt suid-rakenduse käivitamist ja sellele SIGSEGV-signaali saatmist, mille järel saab laadida põhifaili sisu, sealhulgas protsessi mäluosa krahhi ajal.

Näiteks saab kasutaja käivitada käsu "/usr/bin/su" ja lõpetada selle teises terminalis käsuga "kill -s SIGSEGV `pidof su`". Pärast seda salvestab systemd-coredump põhifaili kataloogi /var/lib/systemd/coredump, määrates ACL-i, mis lubab praegusel kasutajal seda lugeda. Kuna suid 'su' utiliit loeb /etc/shadow sisu mällu, võib ründaja pääseda ligi kõigi süsteemi kasutajate parooliräsidele. Sudo utiliit ei ole rünnakute suhtes haavatav, kuna see keelab põhifailide genereerimise ulimit kaudu.

По заявлению разработчиков systemd уязвимость проявляется, начиная с выпуска systemd 247 (ноябрь 2020 года), но по словам выявившего проблему исследователя уязвимости подвержен и выпуск 246. Уязвимость проявляется если systemd собран с библиотекой libacl (по умолчанию во всех популярных дистрибутивах). Исправление пока доступно в виде патча. Проследить за исправлением в дистрибутивах можно на следующих страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. В качестве обходного пути защиты можно выставить sysctl fs.suid_dumpable в значение 0, отключающее передачу дампов обработчику systemd-coredump.

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster