Sårbarhet i systemd-coredump, som gjør det mulig å bestemme innholdet i minnet til suid-programmer

En sårbarhet (CVE-2022-4415) er identifisert i systemd-coredump-komponenten, som behandler kjernefiler generert etter prosesser krasjer, slik at en uprivilegert lokal bruker kan bestemme minneinnholdet til privilegerte prosesser som kjører med suid-rotflagget. Standardkonfigurasjonsproblemet har blitt bekreftet på openSUSE, Arch, Debian, Fedora og SLES-distribusjoner.

Sårbarheten er forårsaket av mangel på korrekt behandling av fs.suid_dumpable sysctl-parameteren i systemd-coredump, som, når den er satt til standardverdien på 2, tillater generering av kjernedumper for prosesser med suid-flagget. Det er forstått at kjernefilene til suid-prosesser skrevet av kjernen må ha tilgangsrettigheter satt til å tillate lesing kun av rotbrukeren. Systemd-coredump-verktøyet, som kalles av kjernen for å lagre kjernefiler, lagrer kjernefilen under rot-ID-en, men gir i tillegg ACL-basert lesetilgang til kjernefilene basert på ID-en til eieren som opprinnelig startet prosessen .

Denne funksjonen lar deg laste ned kjernefiler uten hensyn til at programmet kan endre bruker-ID og kjøre med forhøyede rettigheter. Angrepet koker ned til det faktum at en bruker kan starte en suid-applikasjon og sende den et SIGSEGV-signal, og deretter laste inn innholdet i en kjernefil, som inkluderer en minnedel av prosessen under en unormal avslutning.

For eksempel kan en bruker kjøre "/usr/bin/su" og i en annen terminal avslutte utførelsen med kommandoen "kill -s SIGSEGV `pidof su`", hvoretter systemd-coredump vil lagre kjernefilen i /var /lib/systemd/ katalog coredump, setter en ACL for den som tillater lesing av gjeldende bruker. Siden suid-verktøyet 'su' leser innholdet av /etc/shadow inn i minnet, kan en angriper få tilgang til informasjon om passord-hashene til alle brukere på systemet. Sudo-verktøyet er ikke utsatt for angrep, siden det forbyr generering av kjernefiler via ulimit.

I følge systemd-utviklerne vises sårbarheten fra og med systemd-utgivelse 247 (november 2020), men ifølge forskeren som identifiserte problemet, er også utgivelse 246 berørt. Sårbarheten vises hvis systemd er kompilert med libacl-biblioteket (som standard i alle populære distribusjoner). Reparasjonen er for øyeblikket tilgjengelig som en oppdatering. Du kan spore rettelsene i distribusjonene på følgende sider: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Som en sikkerhetsløsning kan du sette sysctl fs.suid_dumpable til 0, som deaktiverer sending av dumps til systemd-coredump-behandleren.

Kilde: opennet.ru

Legg til en kommentar