Vulnerabilidade remota no núcleo do Linux, que se manifestou ao usar o protocolo TIPC

No módulo do kernel Linux que implementa o protocolo de comunicação entre processos TIPC (Transparent Inter-process Communication), foi identificada uma vulnerabilidade (CVE-2022-0435) que pode permitir a execução de código no nível do kernel através do envio de um pacote de rede especialmente formatado. O problema afeta apenas sistemas com o módulo do kernel tipc.ko carregado e uma pilha TIPC configurada, que geralmente é usada em clusters e não está ativada por padrão em distribuições Linux não especializadas.

Observa-se que, ao compilar o kernel com a opção 'CONFIG_FORTIFY_SRC=y' (usada no RHEL), que adiciona verificações adicionais de limites à função memcpy(), a exploração se limita a uma parada de emergência (o kernel entra em estado de panic). Quando executado sem verificações adicionais e em caso de vazamento de informações sobre marcações canário utilizadas para proteger a pilha, o problema pode ser explorado para execução remota de código com privilégios de kernel. Os pesquisadores que descobriram o problema afirmam que a técnica de exploração é trivial e será revelada após a correção generalizada da vulnerabilidade nas distribuições.

A vulnerabilidade é causada por um estouro de pilha que ocorre durante o processamento de pacotes quando o valor do campo que contém o número de nós participantes de domínio, excede 64. Para armazenar os parâmetros dos nós no módulo tipc.ko, é utilizado um array fixo 'u32 members[64]', mas durante o processamento do número de nó especificado no pacote, não há verificação do valor 'member_cnt', permitindo que valores maiores que 64 sejam utilizados para a sobrescrita controlada de dados na área de memória imediatamente após a estrutura 'dom_bef'.

O erro que leva à vulnerabilidade foi introduzido em 15 de junho de 2016 e se tornou parte do kernel Linux 4.8. A vulnerabilidade foi corrigida 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. Nos kernels da maioria das distribuições, o problema ainda permanece não corrigido: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

O protocolo TIPC foi originalmente desenvolvido pela Ericsson e é destinado à organização da comunicação entre processos em um cluster, sendo ativado principalmente em nós de clusters. O TIPC pode operar tanto sobre Ethernet quanto sobre UDP (porta de rede 6118). No caso de operar sobre Ethernet, um ataque pode ser realizado a partir da rede local, enquanto ao usar UDP, pode ser feito a partir da rede global, se a porta não estiver protegida por um firewall. Um ataque também pode ser realizado por um usuário local não privilegiado do host. Para ativar o TIPC, é necessário carregar o módulo do kernel tipc.ko e configurar a vinculação à interface de rede usando netlink ou a ferramenta tipc.

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