Een kwetsbaarheid in systemd-coredump waarmee men de geheugeninhoud van suid-programma's kan bepalen

Er is een kwetsbaarheid (CVE-2022-4415) geïdentificeerd in de systemd-coredump-component, die kernbestanden verwerkt die zijn gegenereerd nadat processen vastlopen, waardoor een lokale gebruiker zonder bevoegdheden de geheugeninhoud kan bepalen van bevoorrechte processen die worden uitgevoerd met de suid root-vlag. Het standaardconfiguratieprobleem is bevestigd op openSUSE-, Arch-, Debian-, Fedora- en SLES-distributies.

Het beveiligingslek wordt veroorzaakt door het ontbreken van een correcte verwerking van de fs.suid_dumpable sysctl-parameter in systemd-coredump, die, wanneer ingesteld op de standaardwaarde 2, het genereren van core-dumps mogelijk maakt voor processen met de suid-vlag. Het is duidelijk dat de kernbestanden van suid-processen die door de kernel worden geschreven, toegangsrechten moeten hebben die zo zijn ingesteld dat ze alleen door de rootgebruiker kunnen worden gelezen. Het systemd-coredump-hulpprogramma, dat door de kernel wordt aangeroepen om kernbestanden op te slaan, slaat het kernbestand op onder de root-ID, maar biedt bovendien ACL-gebaseerde leestoegang tot de kernbestanden op basis van de ID van de eigenaar die het proces oorspronkelijk heeft gestart .

Met deze functie kunt u kernbestanden downloaden zonder rekening te houden met het feit dat het programma de gebruikers-ID kan wijzigen en met verhoogde rechten kan worden uitgevoerd. De aanval komt erop neer dat een gebruiker een suid-applicatie kan starten en deze een SIGSEGV-signaal kan sturen, en vervolgens de inhoud van een kernbestand kan laden, dat een geheugendeel van het proces bevat tijdens een abnormale beëindiging.

Een gebruiker kan bijvoorbeeld “/usr/bin/su” uitvoeren en in een andere terminal de uitvoering ervan beëindigen met het commando “kill -s SIGSEGV `pidof su`”, waarna systemd-coredump het kernbestand zal opslaan in de map /var /lib/systemd/ directory coredump, waarbij er een ACL voor wordt ingesteld die lezen door de huidige gebruiker mogelijk maakt. Omdat het suid-hulpprogramma 'su' de inhoud van /etc/shadow in het geheugen leest, kan een aanvaller toegang krijgen tot informatie over de wachtwoord-hashes van alle gebruikers op het systeem. Het sudo-hulpprogramma is niet vatbaar voor aanvallen, omdat het het genereren van kernbestanden via ulimit verbiedt.

Volgens de systemd-ontwikkelaars lijkt de kwetsbaarheid te beginnen met systemd release 247 (november 2020), maar volgens de onderzoeker die het probleem heeft geïdentificeerd, wordt dit ook getroffen door release 246. De kwetsbaarheid treedt op als systemd wordt gecompileerd met de libacl-bibliotheek (standaard in alle populaire distributies). De fix is ​​momenteel beschikbaar als patch. Je kunt de oplossingen in de distributies volgen op de volgende pagina's: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Als beveiligingsoplossing kunt u sysctl fs.suid_dumpable instellen op 0, waardoor het verzenden van dumps naar de systemd-coredump-handler wordt uitgeschakeld.

Bron: opennet.ru

Voeg een reactie