
Utilidad de seguridad para Linux basada en C para detectar, verificar de forma segura (Prueba de Concepto) y mitigar CVE-2026-64600 (RefluXFS). Proporciona evaluación de vulnerabilidades del kernel, detección de reflink en XFS, un PoC seguro de condición de carrera y mitigación en capas mediante SystemTap y endurecimiento de XFS.
Este repositorio proporciona una utilidad integral en C para detectar, verificar de forma segura y mitigar la vulnerabilidad RefluXFS (CVE‑2026‑64600) en sistemas Linux que ejecutan el sistema de archivos XFS. La herramienta comprueba si hay un kernel vulnerable, identifica los montajes XFS con reflink habilitado, opcionalmente intenta una activación segura de la condición de carrera y despliega una mitigación de dos capas (sonda SystemTap + remontaje con reflink=0) cuando es necesario.
⚠️ Aviso legal: Esta herramienta está destinada únicamente a la evaluación de seguridad autorizada y al endurecimiento del sistema. Úsela solo en sistemas de su propiedad o para los que tenga permiso explícito de prueba. Los autores no asumen ninguna responsabilidad por el mal uso.
CVE-2026-64600 (RefluXFS) es una condición de carrera de alta gravedad en el sistema de archivos XFS del kernel de Linux, específicamente en la ruta de copiado en escritura (CoW) para archivos con reflink (introducida en el kernel 4.11). Un atacante local sin privilegios puede corromper o sobrescribir archivos arbitrarios en el mismo volumen XFS al competir con escrituras O_DIRECT concurrentes en un clon con reflink contra un archivo protegido. La corrupción ocurre en la capa de bloques, sobrevive a los reinicios y no deja rastro en los registros del kernel.
Kernels afectados: Linux 4.11 hasta las versiones corregidas:
Impacto: Escalada local de privilegios a root, corrupción persistente de datos, sobrescritura silenciosa de binarios setuid o archivos sensibles.
Esta herramienta implementa:
/proc/mounts).-m fix):
FICLONE y copy_file_range en XFS, devolviendo -EOPNOTSUPP.reflink=0 (defensa en profundidad).-c) – ejecuta comandos arbitrarios (p. ej., id) solo si el sistema es vulnerable.-m exploit).reflink=0 (-m fix, requiere root).--dry-run – previsualiza las acciones de mitigación sin aplicarlas.--force – fuerza el despliegue de la mitigación incluso si no se cumplen las condiciones (laboratorio/demo).-v) para información detallada del análisis.-c) – ejecuta un comando solo si el sistema es vulnerable (por defecto: id).git clone https://github.com/Debajyoti0-0/CVE-2026-64600.git
cd cve-2026-64600
gcc -o cve-2026-64600 cve-2026-64600.c -lm -lpthread
Requisitos previos:
-m fix):
stap) – opcional, pero recomendado para una mitigación completa.Opcional: Si SystemTap no está disponible, la herramienta recurrirá únicamente al endurecimiento por remontaje (si es compatible con la versión de XFS).
./cve-2026-64600
./cve-2026-64600 -v
./cve-2026-64600 -p /mnt/data
./cve-2026-64600 -m exploit
./cve-2026-64600 -m auto
sudo ./cve-2026-64600 -m fix
sudo ./cve-2026-64600 -m fix --dry-run
sudo ./cve-2026-64600 -m fix --force
./cve-2026-64600 -c "whoami"
./cve-2026-64600 -v -c "id"
$ ./cve-2026-64600
┌──────────────────────────────────────────────────────────────────────┐
│ CVE-2026-64600 (RefluXFS) — Mode: check │
└──────────────────────────────────────────────────────────────────────┘
─── System Information ───
Kernel 5.15.0-91-generic
Architecture x86_64
─── Vulnerability Assessment ───
Kernel Vulnerable NO
XFS Reflink (any mount) DISABLED
Distribution Affected (heuristic) NO
────────────────────────────────────────────────────────────────────
FINAL VERDICT
────────────────────────────────────────────────────────────────────
┌──────────────────────────────────────────────────────────────────────┐
│ SAFE: kernel not vulnerable and no XFS reflink found │
└──────────────────────────────────────────────────────────────────────┘
Kernel: 5.15.0-91-generic (not vulnerable)
XFS reflink: not detected
System appears secure against CVE-2026-64600
────────────────────────────────────────────────────────────────────
$ ./cve-2026-64600
┌──────────────────────────────────────────────────────────────────────┐
│ CVE-2026-64600 (RefluXFS) — Mode: check │
└──────────────────────────────────────────────────────────────────────┘
─── System Information ───
Kernel 6.12.0-rc2
Architecture x86_64
─── Vulnerability Assessment ───
Kernel Vulnerable YES
XFS Reflink (any mount) DISABLED
Distribution Affected (heuristic) YES
A vulnerable kernel was detected. Show remediation advisory? [y/n]: n
────────────────────────────────────────────────────────────────────
FINAL VERDICT
────────────────────────────────────────────────────────────────────
┌──────────────────────────────────────────────────────────────────────┐
│ PARTIAL: vulnerable kernel, but no XFS reflink found │
└──────────────────────────────────────────────────────────────────────┘
Kernel: 6.12.0-rc2 (vulnerable)
XFS reflink: not detected
Recommendation: still consider kernel update as precaution
────────────────────────────────────────────────────────────────────
$ sudo ./cve-2026-64600 -m fix
┌──────────────────────────────────────────────────────────────────────┐
│ CVE-2026-64600 (RefluXFS) — Mode: fix │
└──────────────────────────────────────────────────────────────────────┘
─── System Information ───
Kernel 6.12.0-rc2
Architecture x86_64
─── Vulnerability Assessment ───
Kernel Vulnerable YES
XFS Reflink (any mount) ENABLED
Distribution Affected (heuristic) YES
--- Mitigation Deployment ---
Layer 2/2: mount-level hardening (remount reflink=0)
Remounted /mnt/xfs with reflink=0
Layer 1/2: syscall-level block (SystemTap probe)
Status DEPLOYED (SystemTap)
Log: /var/log/refluxfs-block.log
Stop: sudo pkill -f 'stap.*refluxfs-block'
Verify: cp --reflink=always /etc/passwd /tmp/test 2>&1 | grep -q 'Operation not supported'
Status MITIGATION ACTIVE (both layers)
--- FINAL VERDICT ---
┌──────────────────────────────────────────────────────────────────────┐
│ CONFIRMED VULNERABLE (race triggered) │
└──────────────────────────────────────────────────────────────────────┘
Kernel: 6.12.0-rc2 (vulnerable)
XFS reflink: enabled
Distribution: affected
Para probar esta herramienta en un entorno seguro, puede configurar una máquina virtual Linux con una partición XFS creada con reflink=1. Por ejemplo:
# Create a loop device with an XFS filesystem (reflink enabled)
dd if=/dev/zero of=/tmp/xfs.img bs=1M count=1024
mkfs.xfs -m reflink=1 /tmp/xfs.img
sudo mount -o loop /tmp/xfs.img /mnt/xfs
A continuación, ejecute la herramienta en la ruta montada (-p /mnt/xfs) para probar la detección y la mitigación.
Este proyecto está licenciado bajo la GNU General Public License v3.0; consulte el archivo LICENSE para más detalles.
Las incidencias (issues) y las solicitudes de incorporación de cambios (pull requests) son bienvenidas. Asegúrese de que sus contribuciones mantengan la misma funcionalidad y cumplan las pautas de uso ético.
Recuerde: Obtenga siempre la autorización adecuada antes de probar cualquier herramienta de seguridad. Sea ético y responsable.
| Opción | Descripción |
|---|
-h, --help | Muestra el mensaje de ayuda y sale. |
-v, --verbose | Salida detallada (muestra los detalles analizados de la versión del kernel). |
-p <path> | Comprueba el estado de reflink de XFS en un punto de montaje específico. |
-m, --mode <mode> | Modo de operación: check (predeterminado), exploit, auto, fix. |
-c, --cmd <command> | Ejecuta un comando personalizado solo si el sistema es vulnerable (por defecto: id). |
--dry-run | Previsualiza las acciones de mitigación (con -m fix) sin aplicarlas. |
--force | Fuerza el despliegue de la mitigación incluso si no se cumplen las condiciones (laboratorio/demo). |
| Modo | Descripción |
|---|
check | Detección pasiva: informa de la versión del kernel, el estado de reflink de XFS y la heurística de distribución. No realiza ninguna acción. |
exploit | Ejecuta la verificación segura de la condición de carrera (PoC) incluso si el sistema es vulnerable. No aplica mitigación. |
auto | Si el sistema es vulnerable, ejecuta la verificación segura de la condición de carrera; en caso contrario, solo comprueba. |
fix | Aplica la mitigación por capas (requiere root). Despliega la sonda SystemTap e intenta remontar XFS con reflink=0. Solo se aplica si el kernel es vulnerable y el reflink de XFS está habilitado (a menos que se use --force). |