Linux: Falha em recurso do Kernel permite escape de contêiner

Uma falha do kernel do Linux, rastreada como CVE-2022-0492 , pode permitir que um invasor escape de um contêiner para executar comandos arbitrários no host do contêiner.

Uma vulnerabilidade de kernel Linux de alta gravidade, agora corrigida, rastreada como CVE-2022-0492  (pontuação CVSS: 7.0), pode ser explorada por um invasor para escapar de um contêiner para executar comandos arbitrários no host do contêiner.

O problema é uma falha de escalonamento de privilégios que afeta o recurso do kernel do Linux chamado grupos de controle (cgroups), que limita, contabiliza e isola o uso de recursos (CPU, memória, E/S de disco, rede, etc.) de uma coleção de processos .

“Uma vulnerabilidade foi encontrada no cgroup_release_agent_write do kernel Linux na função kernel/cgroup/cgroup-v1.c. Esta falha, sob certas circunstâncias, permite o uso do recurso release_agent do cgroups v1 para escalar privilégios e ignorar o isolamento do namespace inesperadamente.” lê o aviso publicado para esta falha.

As principais distribuições Linux, incluindo Suse , Ubuntu e Redhat, também publicaram seus próprios avisos.

A falha reside na funcionalidade release_agent do cgroups v1 que é executada após o término de qualquer processo no grupo.

A causa raiz do problema é a implementação do cgroups no kernel do Linux que não restringiu adequadamente o acesso ao recurso. Um invasor local pode explorar essa vulnerabilidade para obter privilégios administrativos.

A vulnerabilidade foi descoberta pelos pesquisadores de segurança Yiqi Sun e Kevin Wang.

“Em 4 de fevereiro, o Linux anunciou o  CVE-2022-0492 , uma nova vulnerabilidade de escalonamento de privilégios no kernel. O CVE-2022-0492 marca um bug lógico nos grupos de controle (cgroups), um recurso do Linux que é um bloco de construção fundamental de contêineres.” lê a análise publicada pelo pesquisador da Palo Alto Networks Unit 42 Yuval Avrahami. “O problema se destaca como um dos mais simples escalonamentos de privilégios do Linux descobertos nos últimos tempos: o kernel do Linux expôs erroneamente uma operação privilegiada a usuários sem privilégios.”

De acordo com a Palo Alto Networks, o CVE-2022-0492 é causado pela falta de verificação de que o processo de configuração do arquivo release_agent possui privilégios administrativos (ou seja, o recurso CAP_SYS_ADMIN).

Os invasores que podem gravar no arquivo release_agent podem forçar o kernel a invocar um binário de sua escolha com privilégios elevados e assumir o controle da máquina. Apenas processos com privilégios de “root” podem gravar no arquivo.

“Como o Linux define o proprietário do arquivo “release_agent” como root, apenas o root pode gravar nele (ou processos que podem ignorar as verificações de permissão de arquivo por meio do recurso CAP_DAC_OVERRIDE). Como tal, a vulnerabilidade só permite que os processos raiz escalem privilégios.” continua a análise. “À primeira vista, uma vulnerabilidade de escalonamento de privilégios que só pode ser explorada pelo usuário root pode parecer bizarra. Executar como root não significa necessariamente controle total sobre a máquina: há uma área cinzenta entre o usuário root e os privilégios totais que incluem recursos, namespaces e contêineres. Nesses cenários em que um processo raiz não tem controle total sobre a máquina, o CVE-2022-0492 se torna uma vulnerabilidade séria.”

Fonte: https://securityaffairs.co/