Zraniteľnosť v systemd-coredump, umožňujúca určiť obsah pamäte suid programov

Zraniteľnosť (CVE-2022-4415) bola identifikovaná v komponente systemd-coredump, ktorý spracováva základné súbory generované po zlyhaní procesov, čo umožňuje neprivilegovanému lokálnemu používateľovi určiť obsah pamäte privilegovaných procesov spustených s príznakom suid root. Predvolený problém s konfiguráciou bol potvrdený v distribúciách openSUSE, Arch, Debian, Fedora a SLES.

Zraniteľnosť je spôsobená nedostatočným správnym spracovaním parametra fs.suid_dumpable sysctl v systemd-coredump, ktorý pri nastavení na predvolenú hodnotu 2 umožňuje generovanie výpisov jadra pre procesy s príznakom suid. Rozumie sa, že základné súbory suid procesov napísaných jadrom musia mať nastavené prístupové práva tak, aby umožňovali čítanie iba užívateľovi root. Pomôcka systemd-coredump, ktorú jadro volá na ukladanie základných súborov, ukladá hlavný súbor pod ID root, ale navyše poskytuje prístup na čítanie k základným súborom založený na ACL na základe ID vlastníka, ktorý proces pôvodne spustil. .

Táto funkcia vám umožňuje sťahovať základné súbory bez ohľadu na skutočnosť, že program môže zmeniť ID používateľa a spustiť ho so zvýšenými oprávneniami. Útok sa scvrkáva na skutočnosť, že používateľ môže spustiť suid aplikáciu a poslať jej signál SIGSEGV a potom načítať obsah súboru jadra, ktorý obsahuje pamäťový úsek procesu počas abnormálneho ukončenia.

Používateľ môže napríklad spustiť „/usr/bin/su“ a v inom termináli ukončiť jeho vykonávanie príkazom „kill -s SIGSEGV `pidof su`“, po ktorom systemd-coredump uloží súbor jadra do /var /lib/systemd/ adresár coredump, ktorý preň nastaví ACL, ktorý umožňuje čítanie aktuálnemu používateľovi. Keďže utilita suid 'su' načítava obsah /etc/shadow do pamäte, útočník môže získať prístup k informáciám o heslách všetkých používateľov v systéme. Pomôcka sudo nie je náchylná na útok, pretože zakazuje generovanie základných súborov cez ulimit.

Podľa vývojárov systemd sa zraniteľnosť objavuje počnúc vydaním systemd 247 (november 2020), ale podľa výskumníka, ktorý problém identifikoval, je ovplyvnené aj vydanie 246. Zraniteľnosť sa objaví, ak je systemd skompilovaný s knižnicou libacl (štandardne v všetky populárne distribúcie). Oprava je momentálne dostupná ako oprava. Opravy v distribúciách môžete sledovať na nasledujúcich stránkach: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Ako riešenie zabezpečenia môžete nastaviť sysctl fs.suid_dumpable na 0, čo zakáže odosielanie výpisov do obslužného programu systemd-coredump.

Zdroj: opennet.ru

Pridať komentár