Una vulnerabilitat en systemd-coredump que permet determinar el contingut de memòria dels programes suid

S'ha identificat una vulnerabilitat (CVE-2022-4415) al component systemd-coredump, que processa els fitxers bàsics generats després de la fallada dels processos, permetent a un usuari local sense privilegis determinar el contingut de la memòria dels processos privilegiats que s'executen amb el senyal d'arrel suid. El problema de configuració predeterminat s'ha confirmat a les distribucions openSUSE, Arch, Debian, Fedora i SLES.

La vulnerabilitat és causada per la manca de processament correcte del paràmetre sysctl fs.suid_dumpable a systemd-coredump, que, quan s'estableix en el valor predeterminat de 2, permet la generació d'abocaments de nucli per als processos amb el senyalador suid. S'entén que els fitxers bàsics dels processos suid escrits pel nucli han de tenir els drets d'accés establerts per permetre la lectura només per l'usuari root. La utilitat systemd-coredump, que el nucli crida per desar els fitxers bàsics, emmagatzema el fitxer principal sota l'ID d'arrel, però, a més, proporciona accés de lectura basat en ACL als fitxers bàsics en funció de l'ID del propietari que va iniciar originalment el procés. .

Aquesta característica us permet descarregar fitxers bàsics sense tenir en compte que el programa pot canviar l'ID d'usuari i executar-se amb privilegis elevats. L'atac es redueix al fet que un usuari pot llançar una aplicació suid i enviar-li un senyal SIGSEGV, i després carregar el contingut d'un fitxer bàsic, que inclou una part de memòria del procés durant una terminació anormal.

Per exemple, un usuari pot executar "/usr/bin/su" i en un altre terminal finalitzar la seva execució amb l'ordre "kill -s SIGSEGV `pidof su`", després del qual systemd-coredump desarà el fitxer principal a /var. /lib/systemd/ coredump del directori, establint-hi una ACL que permeti la lectura per part de l'usuari actual. Com que la utilitat suid 'su' llegeix el contingut de /etc/shadow a la memòria, un atacant pot accedir a la informació sobre els hash de contrasenya de tots els usuaris del sistema. La utilitat sudo no és susceptible d'atac, ja que prohibeix la generació de fitxers bàsics mitjançant ulimit.

Segons els desenvolupadors de systemd, la vulnerabilitat apareix a partir de la versió 247 de systemd (novembre de 2020), però segons l'investigador que va identificar el problema, també es veu afectada la versió 246. La vulnerabilitat apareix si systemd es compila amb la biblioteca libacl (per defecte a totes les distribucions populars). La correcció està disponible actualment com a pedaç. Podeu fer un seguiment de les correccions a les distribucions a les pàgines següents: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Com a solució de seguretat, podeu establir sysctl fs.suid_dumpable a 0, la qual cosa desactiva l'enviament d'abocaments al controlador systemd-coredump.

Font: opennet.ru

Afegeix comentari