CVE-2023-32233: Escalada de privilegios en Linux Kernel debido a vulnerabilidad en módulo Netfilter nf_tables
Recientemente, ha sido publicada una vulnerabilidad (CVE-2023-32233) de tipo user-after-free que permitiría a usuarios locales no privilegiados obtener permisos de root sobre versiones de Linux Kernel 6.3.1 y anteriores.
El problema, que fue reportado por los investigadores Patryk Sondej y Piotr Krysiuk, se debe a una incorrecta gestión de configuraciones anónimas en el módulo Netfilter nf_tables que puede ser aprovechado para ejecutar acciones de lectura y escritura en el espacio de memoria del kernel.
Se debe tener en cuenta que el módulo afectado nf_tables se encuentra activado por defecto en multitud de distribuciones de Linux, por lo que el número de sistemas potencialmente afectados es elevado.
Aunque la vulnerabilidad CVE-2023-32233 fue notificada el 8 de mayo de 2023, pruebas de concepto funcionales están siendo liberadas en repositorios públicos en los últimos días, y muestran la ejecución exitosa de los exploits asociados:
Ya que estas pruebas de concepto pueden dejar el sistema en un estado inestable de memoria, es recomendable aplicarlas sobre un entorno controlado.
Características de la vulnerabilidad CVE-2023-32233
A continuación, se detallan las características principales de esta vulnerabilidad.
- Identificador CVE: CVE-2023-32233.
- Fecha de publicación: 08/05/2023.
- Software Afectado: Linux Kernel.
- CVSS Score: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (7.8 High).
- Versiones afectadas: 6.3.1 y anteriores.
- Requisitos de explotación: Se requiere la capacidad CAP_NET_ADMIN sobre el espacio de nombres de red y poder manipular las entradas de netfilter.
Mitigación de la vulnerabilidad CVE-2023-32233
La solución principal consiste en actualizar urgentemente el kernel de Linux a las nuevas versiones 6.3.2 o posteriores que corrigen esta vulnerabilidad.
Otras soluciones alternativas consisten en:
- Evitar que el módulo afectado de Netfilter se ejecute, tal como especifican, por ejemplo, guías de Red Hat: https://access.redhat.com/solutions/41278
- Si no es posible evitar la ejecución del módulo de Netfilter, es posible deshabilitar la creación de espacios de nombres de usuario. A continuación, se muestran dos ejemplos para aplicar esta acción sobre las distribuciones Red Hat y Debian respectivamente:
- Red Hat:
# echo «user.max_user_namespaces=0» > /etc/sysctl.d/userns.conf
# sysctl -p /etc/sysctl.d/userns.conf
-
- Debian:
# sysctl -w kernel.unprivileged_userns_clone=0
Referencias