Dois pesquisadores da multinacional de tecnologia Huawei – Yiqi Sun e Kevin Wang – descobriram recentemente uma vulnerabilidade no recurso de “grupos de controle” do kernel do Linux. Basicamente, o kernel é o núcleo de um sistema operacional, de modo que essa vulnerabilidade permitiria que invasores escalem seus privilégios em uma rede ou dispositivo e executem comandos arbitrários a partir de uma máquina (host).
O bug (CVE-2022-0492) existe no recurso “cgroup_release_agent_write” do kernel.
“Essa falha, quando explorada, permite o uso do recurso cgroups v1 release_agent para escalar privilégios e ignorar o isolamento do namespace – uma medida de hierarquização e categorização – inesperadamente”, informa um comunicado do National Vulnerability Database, que ainda não determinou uma pontuação de gravidade CVSS para o bug.
Isso permitiria a fuga de contêineres em ambientes do kernel, descobriram os pesquisadores – isto é, um invasor teria a capacidade de acessar contêineres de outros usuários em ambientes de nuvem pública, aumentando seus privilégios.
Os grupos de controle do Linux – chamados “cgroups” – permitem que os administradores do sistema aloquem recursos de computação – memória, largura de banda, etc. – entre quaisquer processos que possam ser executados em um sistema. Nas palavras da Red Hat – um dos principais grupos contribuintes para o desenvolvimento do kernel Linux – os cgroups permitem “um controle refinado sobre alocação, priorização, negação, gerenciamento e monitoramento de recursos do sistema”.
Nas mãos certas, os cgroups são, portanto, uma ferramenta poderosa para controle e segurança de um sistema.
Como a CVE do kernel pode afetar os cgroups
Existem dois tipos de arquitetura de cgroups – chamados v1 e v2, com diferentes arquiteturas de informação; a CVE-2022-0492 afeta apenas v1, informam os pesquisadores da Huawei.
Pesquisadores da Palo Alto Networks, que escreveram sua própria análise e sugestão de correção para o problema, complementam que “o Linux simplesmente não verificou se o processo de configuração do arquivo release_agent tem privilégios administrativos”.
O arquivo release_agent “permite que os administradores configurem um programa de ‘agente de lançamento’, que seria executado após o término de um processo no cgroup”, acrescentaram. Assim, invasores capazes manipular o arquivo release_agent podem explorá-lo para obter privilégios totais de administrador.
No dia 4 de fevereiro, um pesquisador de segurança relatou que o bug havia sido corrigido de modo a passar a exigir “recursos para definir o release_agent”.
Além disso, de acordo com uma comunidade de desenvolvedores do Github, “o cgroup release_agent é chamado com ‘call_usermodehelper’. A função call_usermodehelper inicia o release_agent com um conjunto completo de recursos. Portanto, é necessário exigir recursos ao definir o release_agent, a fim de evitar a vulnerabilidade.”
Uma falha no cgroups pode merecer atenção especial porque, observaram as análises, “na maioria das organizações, esse nível de detalhamento não é coberto pelo plano de segurança empresarial”.
Ativar o gerenciamento granular de privilégios nos ambientes de desenvolvimento pode ajudar a mitigar essas vulnerabilidades, mesmo antes de se tornarem amplamente conhecidas. Em última análise, porém, o patch é a ação mais importante.
O mais recente de uma série de bugs do kernel
Como o kernel fica no núcleo do sistema operacional de um computador, as vulnerabilidades de segurança que podem surgir dele tendem a ser bastante sérias.
No final do ano passado, por exemplo, um bug de comprometimento de heap crítico introduziu a possibilidade de execução remota de código e controle total de máquinas Linux. Esse bug foi classificado como crítico pelo NIST NVD, com uma pontuação CVSS de 9,8 para 10.
E várias outras vulnerabilidades foram descobertas no kernel nos últimos meses. Fevereiro trouxe o CVE-2022-0185, que, assim como a CVE-2022-0492, expôs a possibilidade de escalonamento de privilégios não-autorizados.
Mais recentemente – em março – um pesquisador publicou os detalhes do CVE-2022-0847 (também conhecido como “Dirty Pipe”), que permite que processos sem privilégios injetem código em processos raiz, substituindo dados em arquivos de leitura (readme) arbitrários e abrindo caminho para o escalonamento de privilégios e a execução arbitrária de código.
Como o Linux é o sistema favorito dos desenvolvedores e de estruturas complexas de operações digitais, qualquer vulnerabilidade relacionada ao sistema chama a atenção para a possibilidade de ataques altamente prejudiciais às organizações que têm na plataforma a base de sua estrutura.
Vulnerabilidades que atingem o núcleo desse sistema, porém, são especialmente urgentes. Planos de segurança que contemplam, também, as operações mais capilares dentro de uma estrutura tecnológica são essenciais para a prevenção desses riscos.
Quer manter seus dispositivos seguros? Conheça as soluções de segurança da Compugraf e saiba como podemos te ajudar!