Corrigido

Descobertos problemas no subsistema Linux VFS que podem levar à corrupção de dados e vulnerabilidades

Linux 6.5-rc4 tem uma coincidência numérica interessante
Conheça os principais recursos do kernel Linux 6.5

Recentemente, foram descobertos problemas no subsistema Linux VFS (Virtual File System) que podem levar à corrupção de dados e vulnerabilidades. Este artigo fornece uma análise detalhada desses problemas e suas implicações.

O que é o subsistema Linux VFS?

O subsistema Linux VFS é uma camada de abstração no kernel do Linux que permite que o sistema operacional interaja com diferentes sistemas de arquivos de maneira uniforme.

A descoberta da vulnerabilidade

Christian Brauner, líder dos projetos LXC e Incus, um dos mantenedores do glibc e contribuidor para o desenvolvimento do systemd, descobriu problemas no código do subsistema Linux VFS do kernel que poderiam levar a travamentos, corrupção de dados ou problemas de segurança.

A vulnerabilidade

Foi identificada uma vulnerabilidade que há quem diga estar ligada ao CVE-2022-0185, que se refere a uma falha na API de contexto do sistema de arquivos fornecida pelo kernel do Linux. Esta vulnerabilidade pode permitir que um usuário local ganhe privilégios de root no sistema.

A vulnerabilidade existe na função legacy_parse_param() no VFS e é devido à falta de validação adequada do tamanho máximo dos parâmetros fornecidos em sistemas de arquivos que não suportam a API de contexto do sistema de arquivos.

Implicações da vulnerabilidade

Esta vulnerabilidade pode ser explorada para realizar um escalonamento de privilégios, permitindo que um usuário sem privilégios obtenha permissões de root em um contêiner isolado se o suporte para namespaces de usuário estiver ativado no sistema. Além disso, a vulnerabilidade também pode ser usada para sair de um contêiner isolado se o contêiner tiver autoridade CAP_SYS_ADMIN.

Correção da vulnerabilidade

A vulnerabilidade foi corrigida e o bug foi corrigido a partir do lançamento deste artigo.

Detalhes adicionais

Segundo o e-mail que recebemos no SempreUpdate, foram feitas duas correções importantes:

  1. Restrição de montagem de sistemas de arquivos: Foi observado que um usuário privilegiado poderia montar a maioria dos sistemas de arquivos com um namespace de usuário não inicial em sb->s_user_ns. Isso é problemático, pois apenas os sistemas de arquivos que levantam FS_USERNS_MOUNT são conhecidos por serem capazes de suportar um s_user_ns não inicial. Outros podem sofrer problemas de segurança, corrupção de dados no disco ou até mesmo travar o kernel. Para evitar isso, a delegação foi restringida a sistemas de arquivos que permitem FS_USERNS_MOUNT.
  2. Correção na análise do hostfs: Foi corrigido o problema de análise do hostfs quando a solicitação de montagem é feita através da API de montagem legada. Na API de montagem legada, o hostfs permite especificar a montagem do diretório host sem nenhuma chave. Esse comportamento foi restaurado.

Conclusão

A descoberta desta vulnerabilidade no subsistema Linux VFS destaca a importância da segurança no desenvolvimento de sistemas operacionais. Embora a vulnerabilidade tenha sido corrigida, é crucial que os desenvolvedores e administradores de sistemas estejam cientes desses problemas e tomem as medidas necessárias para garantir a segurança de seus sistemas.