En sårbarhed i systemd-coredump, der gør det muligt at bestemme hukommelsesindholdet i suid-programmer

En sårbarhed (CVE-2022-4415) er blevet identificeret i systemd-coredump-komponenten, som behandler kernefiler, der er genereret efter processer, der går ned, hvilket gør det muligt for en uprivilegeret lokal bruger at bestemme hukommelsesindholdet af privilegerede processer, der kører med suid-rodflaget. Standardkonfigurationsproblemet er blevet bekræftet på openSUSE, Arch, Debian, Fedora og SLES distributioner.

Sårbarheden er forårsaget af manglen på korrekt behandling af fs.suid_dumpable sysctl-parameteren i systemd-coredump, som, når den er sat til standardværdien på 2, tillader generering af core-dumps for processer med suid-flaget. Det er underforstået, at kernefilerne i suid-processer skrevet af kernen skal have adgangsrettigheder indstillet til kun at tillade læsning af root-brugeren. Systemd-coredump-værktøjet, som kaldes af kernen for at gemme kernefiler, gemmer kernefilen under rod-id'et, men giver desuden ACL-baseret læseadgang til kernefilerne baseret på id'et for ejeren, der oprindeligt startede processen .

Denne funktion giver dig mulighed for at downloade kernefiler uden hensyntagen til, at programmet kan ændre bruger-id'et og køre med forhøjede privilegier. Angrebet bunder i, at en bruger kan starte en suid-applikation og sende den et SIGSEGV-signal og derefter indlæse indholdet af en kernefil, som inkluderer et hukommelsesudsnit af processen under en unormal afslutning.

For eksempel kan en bruger køre "/usr/bin/su" og i en anden terminal afslutte dens udførelse med kommandoen "kill -s SIGSEGV `pidof su`", hvorefter systemd-coredump gemmer kernefilen i /var /lib/systemd/ mappe coredump, indstiller en ACL for den, der tillader læsning af den aktuelle bruger. Da suid-værktøjet 'su' læser indholdet af /etc/shadow ind i hukommelsen, kan en angriber få adgang til information om adgangskode-hasherne for alle brugere på systemet. Sudo-værktøjet er ikke modtageligt for angreb, da det forbyder generering af kernefiler via ulimit.

Ifølge systemd-udviklerne opstår sårbarheden startende med systemd-udgivelse 247 (november 2020), men ifølge forskeren, der har identificeret problemet, er udgivelse 246 også påvirket. Sårbarheden vises, hvis systemd er kompileret med libacl-biblioteket (som standard i alle populære distributioner). Rettelsen er i øjeblikket tilgængelig som en patch. Du kan spore rettelserne i distributionerne på følgende sider: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Som en sikkerhedsløsning kan du indstille sysctl fs.suid_dumpable til 0, hvilket deaktiverer afsendelse af dumps til systemd-coredump-handleren.

Kilde: opennet.ru

Tilføj en kommentar