Fragnesia — una vulnerabilidad en el núcleo de Linux que permite obtener acceso root a través de la modificación de la caché de páginas

Se ha identificado una cuarta vulnerabilidad en el núcleo de Linux (CVE-2026-46300) en las últimas dos semanas, que permite a un usuario sin privilegios obtener derechos de root al sobrescribir datos en la caché de página. A esta vulnerabilidad se le ha asignado el nombre en código Fragnesia o Copy Fail 3.0. La naturaleza de la vulnerabilidad es similar a las vulnerabilidades previamente divulgadas Copy Fail y Dirty Frag. Al igual que en el caso de Dirty Frag, la nueva vulnerabilidad está presente en el subsistema xfrm-ESP, pero es causada por un error diferente y requiere una corrección separada. Se dispone de un exploit funcional.

La vulnerabilidad se manifiesta en los núcleos de Linux lanzados después del 5 de mayo, debido a la activación accidental por la corrección de la vulnerabilidad Dirty Frag. Para abordar la vulnerabilidad Fragnesia, se propuso un parche para el núcleo de Linux. Sin embargo, el análisis de este parche mostró que era insuficiente, lo que llevó a la preparación de una segunda versión del parche.

La vulnerabilidad está presente en el subsistema xfrm en la implementación del mecanismo de encapsulación del protocolo ESP (Encapsulating Security Payload) en TCP (ESP-in-TCP, RFC 8229), utilizado para el túnel de tráfico IPsec sobre TCP. Para evitar el exceso de almacenamiento en búfer, las operaciones que usan el algoritmo AES-GCM se llevaron a cabo en su sitio mediante la ejecución de operaciones XOR sobre los datos en la caché de página. Debido a un error lógico, se generaban condiciones que permitían sobrescribir 1 byte en la caché de página en un desplazamiento seleccionado. Al repetir las operaciones, se puede cambiar byte por byte el contenido de cualquier archivo en la caché de página.

Todas las operaciones de lectura de archivos devuelven en primer lugar el contenido de la caché de página. En caso de modificación de datos en la caché de página, las operaciones de lectura de archivos conducirán a devolver información que no está realmente almacenada en el dispositivo, sino datos sustituidos. La explotación de la vulnerabilidad se reduce a modificar la caché de página para un archivo ejecutable con la bandera suid root, previamente leído para entrar en la caché de página. En el exploit propuesto por los investigadores, los primeros 192 bytes del archivo /usr/bin/su en la caché de página se sobrescriben con código para ejecutar /usr/bin/sh. La posterior ejecución de la utilidad 'su' resultará en que en memoria se cargue no el archivo ejecutable original desde el dispositivo, sino una copia modificada de la caché de página.

Para explotar la vulnerabilidad Fragnesia, en el sistema debe estar permitido crear espacios de nombres de identificadores de usuarios (user namespace). En Ubuntu, esta operación está prohibida por defecto, pero se puede habilitar a través de sysctl «kernel.apparmor_restrict_unprivileged_userns=0» o mediante perfiles de AppArmor. En otras distribuciones, la disponibilidad de «user namespace» para usuarios no privilegiados depende de la configuración de sysctl «kernel.unprivileged_userns_clone» (si es 0, está prohibido).

Las actualizaciones con correcciones para el núcleo de Linux y los paquetes del núcleo en las distribuciones aún no se han publicado. El estado de la reparación de vulnerabilidades en las distribuciones se puede evaluar en las siguientes páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. Como solución provisional de protección, se pueden bloquear la carga de los módulos del núcleo esp4 y esp6:

sh -c «printf ‘install esp4 /bin/false\ninstall esp6 /bin/false\n’ > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 2>/dev/null; true»

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