Unha vulnerabilidade en systemd-coredump que permite determinar o contido da memoria dos programas suid

Identificouse unha vulnerabilidade (CVE-2022-4415) no compoñente systemd-coredump, que procesa os ficheiros principais xerados despois do fallo dos procesos, o que permite que un usuario local sen privilexios determine o contido da memoria dos procesos privilexiados que se executan coa marca suid root. O problema de configuración predeterminado confirmouse nas distribucións openSUSE, Arch, Debian, Fedora e SLES.

A vulnerabilidade prodúcese pola falta de procesamento correcto do parámetro sysctl fs.suid_dumpable en systemd-coredump, que, cando se establece no valor predeterminado de 2, permite a xeración de volcados de núcleo para procesos coa marca suid. Enténdese que os ficheiros fundamentais dos procesos suid escritos polo núcleo deben ter dereitos de acceso configurados para permitir a lectura só polo usuario root. A utilidade systemd-coredump, que é chamada polo núcleo para gardar ficheiros principais, almacena o ficheiro principal baixo o ID raíz, pero ademais ofrece acceso de lectura baseado en ACL aos ficheiros principais en función do ID do propietario que iniciou o proceso orixinalmente. .

Esta función permítelle descargar ficheiros fundamentais sen ter en conta que o programa pode cambiar o ID de usuario e executar con privilexios elevados. O ataque redúcese ao feito de que un usuario pode iniciar unha aplicación suid e enviarlle un sinal SIGSEGV e, a continuación, cargar o contido dun ficheiro principal, que inclúe unha porción de memoria do proceso durante unha terminación anormal.

Por exemplo, un usuario pode executar "/usr/bin/su" e noutro terminal finalizar a súa execución co comando "kill -s SIGSEGV `pidof su`", despois de que systemd-coredump gardará o ficheiro principal no /var. /lib/systemd/ coredump do directorio, establecendo unha ACL para el que permite a lectura polo usuario actual. Dado que a utilidade suid 'su' le o contido de /etc/shadow na memoria, un atacante pode acceder á información sobre os hash de contrasinais de todos os usuarios do sistema. A utilidade sudo non é susceptible de ataques, xa que prohibe a xeración de ficheiros principais a través de ulimit.

Segundo os desenvolvedores de systemd, a vulnerabilidade aparece a partir da versión 247 de systemd (novembro de 2020), pero segundo o investigador que identificou o problema, tamén se ve afectada a versión 246. A vulnerabilidade aparece se systemd se compila coa biblioteca libacl (por defecto en todas as distribucións populares). A corrección está dispoñible actualmente como parche. Podes rastrexar as correccións nas distribucións nas seguintes páxinas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Gentoo, Arch. Como solución de seguridade, pode establecer sysctl fs.suid_dumpable en 0, o que desactiva o envío de verteduras ao controlador systemd-coredump.

Fonte: opennet.ru

Engadir un comentario