En Netfilter, el subsistema del núcleo de Linux utilizado para filtrar y modificar paquetes de red, se ha descubierto una vulnerabilidad (CVE-2022-25636) que permite la ejecución de código a nivel de núcleo. Se ha informado sobre la preparación de un ejemplo de exploit que permite a un usuario local elevar sus privilegios en Ubuntu 21.10 con el mecanismo de protección KASLR desactivado. El problema se presenta a partir del núcleo 5.4. La solución está disponible por ahora en forma de parche (no se han formado versiones de núcleo corregidas). Se puede hacer un seguimiento de la publicación de actualizaciones de paquetes en las distribuciones en estas páginas: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.
La vulnerabilidad es causada por un error en el cálculo del tamaño del arreglo flow->rule->action.entries en la función nft_fwd_dup_netdev_offload (definida en el archivo net/netfilter/nf_dup_netdev.c), que puede conducir a la escritura de datos controlados por el atacante en un área de memoria fuera del búfer asignado. El error se presenta al configurar reglas 'dup' y 'fwd' en cadenas que utilizan aceleración de hardware en el procesamiento de paquetes (offload). Dado que el desbordamiento ocurre en la etapa anterior a la creación de la regla de filtrado de paquetes y la verificación del soporte para offload, la vulnerabilidad también es aplicable a dispositivos de red que no admiten aceleración de hardware, como la interfaz de loopback.
Se observa que el problema es bastante fácil de explotar, ya que los valores que exceden el búfer pueden sobrescribir el puntero a la estructura net_device, y los datos del valor sobrescrito se devuelven al espacio de usuario, lo que permite conocer las direcciones en memoria necesarias para llevar a cabo el ataque. Para explotar la vulnerabilidad, es necesario crear ciertas reglas en nftables, lo que solo es posible con privilegios CAP_NET_ADMIN, que pueden ser obtenidos por un usuario no privilegiado en un espacio de nombres de red (network namespaces) dedicado. La vulnerabilidad también puede ser utilizada para ataques en sistemas de contenedores aísla.
Fuente: opennet.ru
