Unha vulnerabilidade no VFS do núcleo Linux que che permite aumentar os teus privilexios

Identificouse unha vulnerabilidade (CVE-2022-0185) na API de contexto do sistema de ficheiros proporcionada polo núcleo de Linux, que permite a un usuario local obter privilexios de root no sistema. O investigador que identificou o problema publicou unha demostración dun exploit que permite executar código como root en Ubuntu 20.04 na configuración predeterminada. Está previsto que o código de explotación se publique en GitHub nunha semana despois de que as distribucións publiquen unha actualización que corrixa a vulnerabilidade.

A vulnerabilidade existe na función legacy_parse_param() en VFS e é causada por un fallo ao comprobar correctamente o tamaño máximo dos parámetros proporcionados nos sistemas de ficheiros que non admiten a API de contexto do sistema de ficheiros. Pasar un parámetro demasiado grande pode provocar un desbordamento da variable enteira utilizada para calcular o tamaño dos datos que se van escribir; o código ten unha comprobación de desbordamento do búfer "if (len > PAGE_SIZE - 2 - size)", que non funciona se o valor de tamaño é maior que 4094. para o desbordamento de enteiros a través do límite inferior (desbordamento de enteiros, ao emitir 4096 - 2 - 4095 a int unsigned, o resultado é 2147483648).

Este erro permite, ao acceder a unha imaxe do sistema de ficheiros deseñada especialmente, provocar un desbordamento do búfer e sobrescribir os datos do núcleo seguindo a área de memoria asignada. Para explotar a vulnerabilidade, debes ter dereitos CAP_SYS_ADMIN, é dicir. poderes de administrador. O problema é que un usuario sen privilexios pode obter tales permisos nun contedor illado se o sistema ten activado o soporte para espazos de nomes de usuario. Por exemplo, os espazos de nomes de usuario están habilitados por defecto en Ubuntu e Fedora, pero non en Debian e RHEL (a non ser que se utilicen plataformas de illamento de contedores).

O problema aparece dende o núcleo de Linux 5.1 e solucionouse nas actualizacións de onte 5.16.2, 5.15.16, 5.10.93, 5.4.173. As actualizacións de paquetes que corrixen a vulnerabilidade xa se publicaron para RHEL, Debian, Fedora e Ubuntu. A corrección aínda non está dispoñible en Arch Linux, Gentoo, SUSE e openSUSE. Como solución de seguridade para sistemas que non usan illamento de contedores, pode establecer o valor de sysctl "user.max_user_namespaces" en 0: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/ sysctl.d/userns.conf

Fonte: opennet.ru

Engadir un comentario