Vulnerabilidad local en nftables que permite la escalada de privilegios

Netfilter, un subsistema del kernel de Linux utilizado para filtrar y modificar paquetes de red, tiene una vulnerabilidad (sin CVE asignado) que podría permitir que un usuario local ejecute código a nivel del kernel y eleve sus privilegios en el sistema. Los investigadores han demostrado un exploit que permitió a un usuario local convertirse en root en Ubuntu 22.04 con kernel 5.15.0-39-generic. Inicialmente, se planeó publicar información sobre la vulnerabilidad el 15 de agosto, pero debido a la copia de la carta con el prototipo de explotación a la lista de correo pública, se levantó el embargo sobre la divulgación de información.

El problema ha estado presente desde el lanzamiento del kernel 5.8 y es causado por un desbordamiento de búfer en el código para manejar listas de conjuntos en el módulo nf_tables debido a la falta de controles adecuados en la función nft_set_elem_init. El error está en un cambio que expande el área de almacenamiento para los elementos de la lista a 128 bytes.

El ataque requiere acceso a nftables, que se pueden obtener en un espacio de nombres de red separado (espacios de nombres de red) si tiene los derechos CLONE_NEWUSER, CLONE_NEWNS o CLONE_NEWNET (por ejemplo, si puede ejecutar un contenedor aislado). La solución aún no está disponible. Para bloquear la explotación de la vulnerabilidad en sistemas normales, debe asegurarse de que la capacidad de crear espacios de nombres por parte de usuarios sin privilegios esté deshabilitada ("sudo sysctl -w kernel.unprivileged_userns_clone=0").

Fuente: opennet.ru

Añadir un comentario