Eles encontraram duas vulnerabilidades no Kernel Linux

10

Há poucos dias foi divulgada a notícia de que Duas vulnerabilidades foram identificadas no Kernel Linux o primeiro deles já catalogado como CVE-2022-0435 e foi encontrado no módulo do kernel Linux que fornece a operação do protocolo de rede TIPC (Transparent Inter-Process Communication).

Esta vulnerabilidade pode permitir que o código seja executado no nível do kernel enviando um pacote para uma rede especialmente projetada.

O problema só afecta os sistemas com o módulo do kernel tipc.ko carregado e configurado com a pilha TIPC, que normalmente é usada em clusters e não é habilitada por padrão em distribuições Linux não especializadas.

Vulnerabilidade é causado por um estouro de pilha que ocorre ao processar pacotes, o valor do campo com o número de nós membros do domínio em que excede 64.

Para armazenar os parâmetros dos nós no módulo tipc.ko, um array define "u32 members[64]", mas em processo de processamento o que está especificado no pacote. O número do nó não verifica o valor "member_cnt", o que permite que valores maiores que 64 sejam utilizados para substituição controlada de dados na área de memória abaixo. a pilha após a estrutura "dom_bef".

O protocolo TIPC foi originalmente desenvolvido pela Ericsson, é projetado para organizar a comunicação entre os processos em um cluster e é ativado principalmente nos nós do cluster. O TIPC pode funcionar em Ethernet e UDP (porta de rede 6118).

Ao trabalhar sobre Ethernet, um ataque pode ser feito a partir da rede local e, ao usar UDP, a partir da rede global, se a porta não estiver coberta por um firewall. O ataque também pode ser realizado por um usuário local sem privilégios no host. Para habilitar o TIPC, você deve carregar o módulo do kernel tipc.ko e configurar a vinculação a uma interface de rede usando o netlink ou o utilitário tipc.

É mencionado que ao construir o kernel no modo "CONFIG_FORTIFY_SRC=y" (usado no RHEL), que adiciona verificações de limites adicionais à função memcpy(), a operação é limitada a uma parada de emergência (o kernel entra no estado “Kernel Panic”).

Se ele for executado sem verificações adicionais e as informações sobre os sinalizadores canário usados ​​para proteger a pilha vazarem, o problema poderá ser usado para executar remotamente o código com direitos do kernel. Os pesquisadores que identificaram o problema dizem que a técnica de exploração é trivial e será revelada após a remoção generalizada da vulnerabilidade nas distribuições.

O bug que gerou a vulnerabilidade foi introduzido em 15 de junho de 2016 e tornou-se parte do kernel Linux 4.8. vulnerabilidade corrigido nas versões do kernel Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 e 4.9.301.

Outra vulnerabilidade que foi encontrado no kernel do Linux é CVE-2022-24122 no código para lidar com restrições rlimit em diferentes namespaces de usuário.

O bug foi introduzido em uma mudança adicionada no verão de 2021, movendo a implementação de alguns contadores RLIMIT para usar a estrutura "ucounts". Os objetos "ucounts" criados para RLIMIT continuaram a ser usados ​​após liberar a memória alocada para eles (use-after-free) removendo o namespace associado a eles, o que possibilitou a execução de seu código em nível de kernel.

A exploração da vulnerabilidade por um usuário sem privilégios só é possível se o sistema tiver acesso sem privilégios ao namespace do identificador de usuário (namespace de usuário não privilegiado), que está habilitado por padrão no Ubuntu e no Fedora. , mas não habilitado no Debian e no RHEL.

Como solução alternativa para bloquear a vulnerabilidade, você pode desabilitar o acesso sem privilégios ao namespace do usuário:

sysctl -w kernel.unprivileged_userns_clone=0

O problema existe desde o kernel Linux 5.14 e será corrigido nas atualizações 5.16.5 e 5.15.19. As ramificações estáveis ​​do Debian, Ubuntu, SUSE/openSUSE e RHEL não são afetadas pelo problema, mas aparecem nos novos kernels Fedora e Arch Linux.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.