Vulnerabilidade no OverlayFS permite elevação de privilégios

No núcleo do Linux, foi identificada uma vulnerabilidade na implementação do sistema de arquivos OverlayFS (CVE-2023-0386), que pode ser explorada para obter acesso root em sistemas onde a subsistema FUSE está instalado e o montagem de divisões OverlayFS é permitido para usuários não privilegiados (a partir do núcleo Linux 5.11 com a inclusão de namespaces de usuário não privilegiados). O problema foi corrigido na versão do núcleo 6.2. A publicação de atualizações de pacotes nas distribuições pode ser acompanhada nas páginas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

O ataque é realizado através da cópia de arquivos com flags setgid/setuid de uma divisão montada no modo nosuid para uma divisão OverlayFS, que possui uma camada associada a uma divisão que permite a execução de arquivos suid. A vulnerabilidade é semelhante a um problema CVE-2021-3847, identificado em 2021, mas apresenta requisitos de exploração mais baixos — no problema anterior, manipulações com xattrs eram necessárias, as quais são limitadas com o uso de namespaces de identificadores de usuário, enquanto no novo problema, são utilizados bits setgid/setuid, que não são tratados especificamente em namespaces de usuário.

Algoritmo de realização do ataque:

  • Um sistema de arquivos é montado com a subsistema FUSE, no qual existe um arquivo executável pertencente ao usuário root com flags setuid/setgid, acessível a todos os usuários para gravação. Ao montar, o FUSE define o modo "nosuid".
  • Os namespaces de usuários e pontos de montagem são desfeitos (unshare).
  • OverlayFS é montado, especificando o sistema de arquivos criado anteriormente no FUSE como a camada inferior e uma camada superior baseada em um diretório que permite gravação. O diretório da camada superior deve ser colocado em um sistema de arquivos que não usa o flag "nosuid" ao ser montado.
  • Para o arquivo suid na divisão FUSE, o utilitário touch altera o tempo de modificação, levando à sua cópia para a camada superior do OverlayFS.
  • Durante a cópia, o núcleo não remove as flags setgid/setuid, resultando na aparição do arquivo em uma divisão que permite o processamento de setgid/setuid.
  • Para obter privilégios de root, basta executar o arquivo com flags setgid/setuid do diretório anexado à camada superior do OverlayFS.

Adicionalmente, é importante mencionar a divulgação por pesquisadores da equipe Google Project Zero sobre três vulnerabilidades que foram corrigidas na versão principal do núcleo Linux 5.15, mas que não foram transferidas para os pacotes de núcleo das versões RHEL 8.x/9.x e CentOS Stream 9.

  • CVE-2023-1252 — acesso a uma área de memória já liberada na estrutura ovl_aio_req durante a execução simultânea de várias operações no OverlayFS, implantado sobre o sistema de arquivos Ext4. A vulnerabilidade potencialmente permite que um atacante eleve suas permissões no sistema.
  • CVE-2023-0590 — acesso a uma área de memória já liberada na função qdisc_graft(). Acredita-se que a exploração se limite a um encerramento inesperado.
  • CVE-2023-1249 — acesso a uma área de memória já liberada no código de gravação de coredump, resultante da chamada esquecido de mmap_lock em file_files_note. Acredita-se que a exploração se limite a um encerramento inesperado.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster