Durante los últimos meses, la comunidad de seguridad informática se ha enfrentado a una nueva preocupación con el descubrimiento de un fallo de use after free en el subsistema netfilter del kernel de Linux. Con este error, si el elemento general se recolecta como basura cuando se retira el conjunto de pípapo, el elemento se puede desactivar dos veces. Esto puede causar un problema de use-after-free en un objeto NFT_CHAIN o NFT_OBJECT, lo que permite a un usuario local, escalar sus privilegios en el sistema.
La CVE-2024-0193 se refiere a una vulnerabilidad de escalada de privilegios en el kernel de Linux, que podría permitir a un atacante obtener acceso no autorizado al sistema y ejecutar códigos maliciosos. Esta vulnerabilidad, catalogada como crítica, ha despertado la preocupación de los administradores de sistemas y expertos en ciberseguridad, ya que podría ser aprovechada para comprometer la integridad y confidencialidad de los datos almacenados en un sistema que es ampliamente utilizado en servidores y dispositivos móviles en todo el mundo.
¿Qué es el subsistema netfilter?
Netfilter es un marco de trabajo de software integrado en el núcleo del sistema operativo Linux. Su función principal es interceptar y manipular paquetes de red, lo que lo convierte en una herramienta fundamental para la seguridad y el control del tráfico en redes Linux. En términos simples, Netfilter actúa como un «agente de aduanas» para tu sistema Linux. Inspecciona cada paquete de red que entra o sale del sistema, y en función de las reglas configuradas, puede:
- Permitir el paso del paquete.
- Denegar el paso del paquete.
- Redireccionar el paquete a otro destino.
- Modificar el contenido del paquete.
Netfilter ofrece una gran flexibilidad para controlar el tráfico de red, lo que lo convierte en una herramienta muy versátil para:
- Implementar firewalls: Permite definir reglas para permitir o denegar el acceso a determinados servicios o puertos.
- Realizar NAT: Permite traducir las direcciones IP de origen o destino de los paquetes.
- Controlar el ancho de banda: Permite limitar la cantidad de datos que se pueden enviar o recibir por una interfaz de red.
- Monitorear el tráfico: Permite recopilar información sobre los paquetes que se envían y reciben por el sistema.
Netfilter se compone de varios módulos:
- iptables: Es la herramienta principal para configurar reglas de filtrado de paquetes.
- nftables: Es una herramienta más moderna y flexible que iptables.
- netlink: Es un mecanismo de comunicación entre el espacio del usuario y el núcleo del sistema operativo.
- Conntrack: Es un módulo que permite mantener un seguimiento de las conexiones de red.
En resumen, Netfilter es un subsistema fundamental en Linux para la seguridad y el control del tráfico de red. Ofrece una gran flexibilidad para implementar firewalls, realizar NAT, controlar el ancho de banda y monitorizar el tráfico.
Para documentación oficial de Netfilter puedes visitar: https://netfilter.org/documentation/
¿Qué es un «use-after-free»?
Un «use-after-free» (UAF) es un tipo de vulnerabilidad de memoria que ocurre cuando un programa libera un bloque de memoria, pero luego continúa usándolo. Esto puede permitir a un atacante:
- Corromper datos: El atacante puede sobrescribir datos en la memoria liberada, lo que puede provocar fallos en el programa o la ejecución de código arbitrario.
- Escalar privilegios: El atacante puede utilizar la memoria liberada para obtener acceso a áreas de memoria no autorizadas, lo que puede permitirle escalar sus privilegios en el sistema.
¿Qué es un NFT_CHAIN?
Un NFT_CHAIN (Netfilter Table Chain) es una estructura de datos que se utiliza en el subsistema Netfilter para almacenar reglas de filtrado de paquetes. Las reglas de filtrado de paquetes definen cómo se debe manejar un paquete de red en función de su origen, destino, protocolo y otros criterios.
¿Qué es un NFT_OBJECT?
Un NFT_OBJECT es una estructura de datos que se utiliza en el subsistema Netfilter para almacenar información sobre un paquete de red. Esta información puede incluir la dirección IP de origen y destino, el protocolo utilizado, el puerto de origen y destino, y otras características del paquete.
En resumen, la vulnerabilidad CVE-2024-0193 permite a un usuario local escalar sus privilegios en el sistema al aprovechar un fallo de «use-after-free» en un objeto NFT_CHAIN o NFT_OBJECT.
Versiones de Linux afectadas por la vulnerabilidad CVE-2024-0193
La vulnerabilidad CVE-2024-0193 afecta a las versiones del kernel de Linux: 5.10.0 a 5.15.71 y 5.16.0 a 5.16.18. Todas las versiones anteriores a 5.10.0 ya no son compatibles y no se ven afectadas por esta vulnerabilidad.
Solución:
– apt update
– apt upgrade
– apt full-upgrade
– apt dist-upgrade
Finalmente, se recomienda a los usuarios y administradores de sistemas estar atentos a las actualizaciones y parches de seguridad para garantizar la protección de sus sistemas y datos. La comunidad de seguridad informática continuará monitoreando esta vulnerabilidad y trabajando en soluciones efectivas para mantener la integridad y confidencialidad de los sistemas Linux.
Para estar al tanto de más información como esta, únete a nuestra comunidad de Informática Forense, Pentester, Osint y Jurídico.