Se ha detectado una vulnerabilidad remota en el núcleo de Linux que se manifiesta al utilizar el protocolo TIPC.

En el módulo del núcleo de Linux que proporciona el funcionamiento del protocolo de red TIPC (Comunicación entre Procesos Transparente), se ha descubierto una vulnerabilidad (CVE-2022-0435) que potencialmente permite ejecutar código propio a nivel de núcleo al enviar un paquete de red especialmente diseñado. El problema afecta únicamente a sistemas con el módulo del núcleo tipc.ko cargado y con una pila TIPC configurada, que generalmente se usa en clústeres y no está activada por defecto en distribuciones de Linux no especializadas.

Se observa que al compilar el núcleo en modo "CONFIG_FORTIFY_SRC=y" (utilizado en RHEL), que añade verificaciones adicionales de límites en la función memcpy(), la explotación se limita a un fallo del sistema (el núcleo entra en estado de panic). Al realizarse sin verificaciones adicionales y en caso de filtración de información sobre las marcas canarias utilizadas para proteger la pila, el problema puede ser utilizado para la ejecución remota de código con privilegios de núcleo. Los investigadores que han identificado el problema afirman que la técnica de explotación es trivial y se revelará una vez que la vulnerabilidad sea corregida en las distribuciones.

La vulnerabilidad es causada por un desbordamiento de pila que ocurre al procesar paquetes, donde el valor del campo que contiene el número de nodos participantes dominio, excede 64. Para almacenar los parámetros de los nodos en el módulo tipc.ko se utiliza un arreglo fijo "u32 members[64]", pero durante el procesamiento del número de nodo especificado en el paquete no se verifica el valor de "member_cnt", lo que permite utilizar valores mayores a 64 para sobrescribir controladamente datos en la memoria justo después de la estructura "dom_bef".

El error que conduce a la vulnerabilidad fue introducido el 15 de junio de 2016 y formó parte del núcleo de Linux 4.8. La vulnerabilidad ha sido corregida en las versiones del núcleo de Linux 5.16.9, 5.15.23, 5.10.100, 5.4.179, 4.19.229, 4.14.266 y 4.9.301. En los núcleos de la mayoría de las distribuciones, el problema aún permanece sin solución: RHEL, Debian, Ubuntu, SUSE, Fedora, Gentoo, Arch Linux.

El protocolo TIPC fue desarrollado originalmente por Ericsson, y está diseñado para facilitar la comunicación entre procesos en un clúster, activándose principalmente en los nodos de los clústeres. TIPC puede funcionar sobre Ethernet o sobre UDP (puerto de red 6118). Si se utiliza sobre Ethernet, un ataque puede ser realizado desde la red local, mientras que al usar UDP, puede provenir de la red global si el puerto no está protegido por un firewall. Un usuario local no privilegiado también puede llevar a cabo el ataque. Para habilitar TIPC, es necesario cargar el módulo del kernel tipc.ko y configurar la vinculación a la interfaz de red usando netlink o la utilidad tipc.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster