Tutoriel Linux

RefluXFS: Una vulnerabilidad crítica en XFS que ofrece acceso de root en RHEL, CentOS y AlmaLinux.

Débutant5 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Se ha descubierto una importante vulnerabilidad en el sistema de archivos XFS del kernel de Linux. Esta vulnerabilidad, denominada RefluXFS, permite que un usuario local sin privilegios obtenga acceso de administrador. Distribuciones como RHEL, CentOS y AlmaLinux se ven particularmente afectadas, lo que supone una gran preocupación para los administradores de sistemas.

RefluXFS, identificado como CVE-2026-64600, se basa en una vulnerabilidad de hace nueve años. Este fallo explota la funcionalidad reflink del sistema de archivos XFS para sobrescribir silenciosamente archivos críticos pertenecientes al usuario root. La ausencia de registros de actividad hace que este ataque sea prácticamente indetectable.

Descubierta gracias a la investigación conjunta de Qualys y Anthropic, RefluXFS desafía muchos de los mecanismos de defensa clásicos presentes en los sistemas Linux. A continuación, presentamos un análisis técnico de esta vulnerabilidad, que merece toda nuestra atención.

Cómo RefluXFS aprovecha el sistema de archivos XFS para escalar privilegios de root

RefluXFS aprovecha la función reflink introducida en XFS, que permite clonar archivos sin copiar los datos. De este modo, un usuario estándar puede duplicar un archivo protegido, como /etc/passwd, simplemente mediante acceso de lectura. Esto crea una copia que comparte los mismos bloques de disco físico que el archivo original.

El problema surge durante una escritura directa (O_DIRECT) en este clon. El kernel libera brevemente un bloqueo y luego realiza una comprobación obsoleta del uso compartido de bloques. Una escritura concurrente puede entonces reescribir los datos en los bloques originales sin que se modifiquen el inodo ni los permisos.

Esta situación es comparable a la de un artesano que repinta una pared que le prohibieron tocar, en secreto y sin dejar rastro. El resultado: un archivo root modificado ilegalmente puede ejecutar código con privilegios completos, otorgando acceso de administrador de forma encubierta.

El peligro insidioso: acceso de administrador persistente e imposible de rastrear.

Lo que hace que RefluXFS sea particularmente formidable es que la modificación se escribe a nivel de bloque en el disco. Esto significa que los metadatos permanecen intactos. El binario modificado conserva su bit SUID, lo que permite la escalada de privilegios durante su ejecución.

Además, esta alteración persiste tras reiniciar el sistema, lo que hace que la intrusión sea persistente. Ningún registro del kernel registra esta actividad, eludiendo así las herramientas de detección estándar. Es como favorecer a un ladrón que da cuerda a su reloj después de romper una ventana.

Los mecanismos de protección conocidos, como SELinux, KASLR, SMEP o SMAP, no logran detectar la vulnerabilidad, ya que esta manipula la capa profunda de asignación de bloques en el sistema de archivos. Un fallo en este mecanismo hace que las defensas de seguridad tradicionales sean ineficaces.

Máquinas afectadas y condiciones para explotar la vulnerabilidad RefluXFS en RHEL, CentOS y AlmaLinux.

La vulnerabilidad afecta a todos los núcleos de Linux desde la versión 4.11, prácticamente todas las versiones que reciben soporte actualmente. El sistema de archivos debe ser XFS y tener habilitado el enlace de referencia (reflink=1). Además, un usuario sin privilegios debe tener acceso de escritura a un directorio ubicado en la misma partición que los archivos raíz críticos.

Estas condiciones se cumplen en muchas instalaciones predeterminadas. Por ejemplo, el directorio /var/tmp suele ser escribible por todos los usuarios y se encuentra en la misma partición que /etc y /usr/bin. Esto crea un terreno fértil para explotar la vulnerabilidad.

Las distribuciones afectadas incluyen RHEL 8, 9 y 10, CentOS Stream, AlmaLinux, Rocky Linux, Oracle Linux y Amazon Linux. En conjunto, estos sistemas comprenden aproximadamente 16,4 millones de máquinas vulnerables, según Qualys. Debian, Ubuntu y Fedora Workstation no se ven afectadas en su configuración estándar, ya que no utilizan XFS para el directorio raíz.

SELinux y otras protecciones: por qué no son suficientes contra RefluXFS.

Resulta tentador refugiarse tras SELinux en modo estricto, creyendo estar a salvo. Desafortunadamente, esta creencia es errónea con RefluXFS. Las protecciones de SELinux, incluso en modo estricto, no pueden bloquear esta vulnerabilidad.

El bloqueo del kernel, los contenedores aislados e incluso KASLR, SMEP o SMAP no detectan ni impiden la explotación. La vulnerabilidad funciona eludiendo la gestión estándar de permisos a nivel del sistema de archivos, lo que hace que estas defensas sean ineficaces.

Un ingeniero de Red Hat propuso una solución temporal: un script de SystemTap que desactiva la función xfs_file_remap_range, origen del problema. Se trata de una solución provisional de emergencia, pero interrumpe la funcionalidad de reflink para las aplicaciones que dependen de ella.

El parche oficial y las mejores prácticas para protegerse contra RefluXFS en 2026.

La buena noticia es que desde el 16 de julio de 2026 está disponible un parche integrado en el kernel de Linux. Este parche corrige la condición de carrera en el núcleo de reflink en XFS y neutraliza el ataque. Las distribuciones basadas en RHEL ya han publicado actualizaciones específicas.

Para RHEL y sus derivados, las versiones corregidas son 4.18.0-553.144.1.el8_10 para la rama 8.10, 5.14.0-687.26.1.el9_8 para la 9.8 y 6.12.0-211.34.1.el10_2 para la 10.2. Estas actualizaciones deben aplicarse sin demora.

Mientras tanto, deshabilitar Reflink mediante un script o modificar la configuración del sistema son medidas de emergencia. Lo que está en juego es evidente: más vale prevenir que curar, sobre todo ante una vulnerabilidad tan peligrosa que elude las protecciones tradicionales.

sudo apt update && sudo apt upgrade