Vulnerabilidade en OverlayFS que permite a escalada de privilexios

No núcleo de Linux, identificouse unha vulnerabilidade na implementación do sistema de ficheiros OverlayFS (CVE-2023-0386), que se pode usar para obter acceso root en sistemas que teñan instalado o subsistema FUSE e permitan o montaxe de particións OverlayFS mediante un usuario sen privilexios (comezando polo kernel Linux 5.11 coa inclusión do espazo de nomes de usuario sen privilexios). O problema solucionouse na rama do núcleo 6.2. A publicación de actualizacións de paquetes nas distribucións pódese seguir nas páxinas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

O ataque realízase copiando ficheiros con bandeiras setgid/setuid desde unha partición montada en modo nosuid a unha partición OverlayFS que ten unha capa asociada á partición que permite a execución de ficheiros suid. A vulnerabilidade está próxima ao problema CVE-2021-3847 identificado en 2021, pero ten requisitos de explotación máis baixos: o problema antigo requiría a manipulación de xattrs, que está limitado cando se usan espazos de nomes de usuario, e o novo problema usa os bits setgid/setuid, que son non se manexa especificamente no espazo de nomes de usuario.

Algoritmo de ataque:

  • Usando o subsistema FUSE, montase un sistema de ficheiros, no que hai un ficheiro executable pertencente ao usuario root con marcas setuid/setgid, accesible a todos os usuarios para escribir. Ao montar, FUSE configura o modo en "nosuid".
  • Os espazos de nomes de usuario/montaxe non están compartidos.
  • O OverlayFS está montado, especificando o FS creado anteriormente en FUSE como a capa inferior e a capa superior en base a un directorio escribible. O directorio da capa superior debe estar situado nun sistema de ficheiros que non utilice a marca "nosuid" ao montarlo.
  • Para un ficheiro suid na partición FUSE, a utilidade táctil cambia o tempo de modificación, o que leva á súa copia na capa superior de OverlayFS.
  • Ao copiar, o núcleo non borra as marcas setgid/setuid, o que fai que o ficheiro apareza nunha partición que permite o procesamento setgid/setuid.
  • Para obter dereitos de root, só tes que executar o ficheiro coas marcas setgid/setuid do directorio adxunto á capa superior de OverlayFS.

Ademais, podemos sinalar a divulgación por parte dos investigadores do equipo de Google Project Zero de información sobre tres vulnerabilidades que foron corrixidas na rama principal do núcleo de Linux 5.15, pero que non foron transferidas a paquetes co núcleo de RHEL 8.x/9. x e CentOS Stream 9.

  • CVE-2023-1252: acceso a unha área de memoria xa liberada na estrutura ovl_aio_req cando se realizan varias operacións simultáneamente en OverlayFS implantado enriba do sistema de ficheiros Ext4. Potencialmente, a vulnerabilidade permítelle aumentar os seus privilexios no sistema.
  • CVE-2023-0590: acceso á memoria xa liberada na función qdisc_graft(). Suponse que a operación está limitada a unha terminación anormal.
  • CVE-2023-1249 Prodúcese un acceso á memoria xa liberado no código de escritura do coredump debido a unha chamada perdida a mmap_lock en file_files_note. Suponse que a operación está limitada a unha terminación anormal.

Fonte: opennet.ru

Engadir un comentario