Vulnerabilidade remota no núcleo Linux que se produce ao utilizar o protocolo TIPC

Identificouse unha vulnerabilidade (CVE-2022-0435) no módulo do núcleo de Linux que garante o funcionamento do protocolo de rede TIPC (Transparent Inter-process Communication), permitindo potencialmente executar código a nivel do núcleo mediante o envío dunha rede especialmente deseñada. paquete. O problema só afecta aos sistemas co módulo do núcleo tipc.ko cargado e a pila TIPC configurada, que normalmente se usa en clústeres e non está activada por defecto en distribucións de Linux non especializadas.

Nótese que ao construír o núcleo no modo "CONFIG_FORTIFY_SRC=y" (utilizado en RHEL), que engade comprobacións de límites adicionais á función memcpy(), a operación limítase a unha parada de emerxencia (o núcleo entra en pánico). Se se executa sen comprobacións adicionais e se filtra información sobre as etiquetas canarias utilizadas para protexer a pila, o problema pódese aproveitar para a execución remota de código con dereitos do núcleo. Os investigadores que identificaron o problema afirman que a técnica de explotación é trivial e darase a coñecer tras a eliminación xeneralizada da vulnerabilidade nas distribucións.

A vulnerabilidade prodúcese por un desbordamento de pila que se produce ao procesar paquetes, o valor do campo co número de nodos membros do dominio no que supera os 64. Para almacenar os parámetros do nodo no módulo tipc.ko, unha matriz fixa "u32 members[64". ]” úsase, pero no proceso de procesamento do especificado no paquete O número de nodo non verifica o valor de "member_cnt", o que permite que se utilicen valores superiores a 64 para a sobreescritura controlada de datos na área de memoria a continuación á estrutura "dom_bef" da pila.

O erro que levou á vulnerabilidade presentouse o 15 de xuño de 2016 e incluíuse no núcleo Linux 4.8. A vulnerabilidade foi abordada nas versións do núcleo de Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 e 4.9.301. Nos núcleos da maioría das distribucións o problema segue sen solucionarse: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

O protocolo TIPC foi desenvolvido orixinalmente por Ericsson, deseñado para organizar a comunicación entre procesos nun clúster e actívase principalmente nos nodos do clúster. TIPC pode funcionar a través de Ethernet ou UDP (porto de rede 6118). Cando se traballa a través de Ethernet, o ataque pode levarse a cabo desde a rede local, e cando se usa UDP, desde a rede global se o porto non está cuberto por un cortalumes. O ataque tamén pode ser realizado por un usuario local sen privilexios do host. Para activar TIPC, cómpre descargar o módulo do núcleo tipc.ko e configurar a ligazón á interface de rede mediante netlink ou a utilidade tipc.

Fonte: opennet.ru

Engadir un comentario