Systemd-coredumpin haavoittuvuus, jonka avulla voidaan määrittää vastaavien ohjelmien muistin sisältö

Haavoittuvuus (CVE-2022-4415) on tunnistettu systemd-coredump-komponentissa, joka käsittelee ydintiedostoja, jotka on luotu prosessien kaatumisen jälkeen, jolloin etuoikeutettu paikallinen käyttäjä voi määrittää suid-juurilipulla suoritettavien etuoikeutettujen prosessien muistin sisällön. Oletusmääritysongelma on vahvistettu openSUSE-, Arch-, Debian-, Fedora- ja SLES-jakeluissa.

Haavoittuvuus johtuu fs.suid_dumpable sysctl-parametrin oikean käsittelyn puutteesta systemd-coredumpissa. Parametrin oletusarvoksi asetettuna 2 mahdollistaa ydinvedosten luomisen prosesseille, joissa on suid-lippu. On selvää, että ytimen kirjoittamilla suid-prosessien ydintiedostoilla on oltava käyttöoikeudet, jotka sallivat vain pääkäyttäjän lukea. Systemd-coredump -apuohjelma, jota ydin kutsuu tallentamaan ydintiedostoja, tallentaa ydintiedoston juuritunnuksen alle, mutta tarjoaa lisäksi ACL-pohjaisen lukuoikeuden ydintiedostoihin prosessin alun perin käynnistäneen omistajan tunnuksen perusteella. .

Tämän ominaisuuden avulla voit ladata ydintiedostoja ottamatta huomioon, että ohjelma voi muuttaa käyttäjätunnusta ja toimia korotetuilla oikeuksilla. Hyökkäys tiivistyy siihen tosiasiaan, että käyttäjä voi käynnistää suid-sovelluksen ja lähettää sille SIGSEGV-signaalin ja ladata sitten ydintiedoston sisällön, joka sisältää muistiosan prosessista epänormaalin lopettamisen aikana.

Käyttäjä voi esimerkiksi ajaa "/usr/bin/su" ja lopettaa sen suorittamisen toisessa päätteessä komennolla "kill -s SIGSEGV `pidof su", minkä jälkeen systemd-coredump tallentaa ydintiedoston kansioon /var. /lib/systemd/ hakemistoon coredump, joka asettaa sille ACL:n, joka sallii nykyisen käyttäjän lukea. Koska suid-apuohjelma "su" lukee tiedoston /etc/shadow sisällön muistiin, hyökkääjä voi päästä käsiksi tietoihin kaikkien järjestelmän käyttäjien salasanahajauksista. Sudo-apuohjelma ei ole alttiina hyökkäyksille, koska se estää ydintiedostojen luomisen ulimitin kautta.

Systemd-kehittäjien mukaan haavoittuvuus alkaa systemd-julkaisusta 247 (marraskuu 2020), mutta ongelman tunnistaneen tutkijan mukaan se vaikuttaa myös julkaisuun 246. Haavoittuvuus ilmenee, jos systemd on käännetty libacl-kirjaston kanssa (oletuksena kaikki suositut jakelut). Korjaus on tällä hetkellä saatavilla korjaustiedostona. Voit seurata korjauksia jakeluissa seuraavilta sivuilta: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Suojauksen kiertotapana voit asettaa sysctl fs.suid_dumpable arvoon 0, mikä estää vedosten lähettämisen systemd-coredump-käsittelijään.

Lähde: opennet.ru

Lisää kommentti