Un nuevo exploit de escalada de privilegios en el kernel de Linux, denominado Dirty Frag, está circulando públicamente sin parches oficiales disponibles para la mayoría de distribuciones.
Reportado por el investigador de seguridad Hyunwoo Kim (v4bel), este ataque permite a usuarios locales obtener acceso root mediante la modificación de copias en memoria de archivos críticos del sistema.
Lo más preocupante: un exploit funcional ya es público, las principales distribuciones no han lanzado correcciones, y las mitigaciones aplicadas para el exploit anterior “Copy Fail” son completamente inefectivas contra Dirty Frag.
Esta guía técnica explica el funcionamiento del ataque, sistemas afectados y medidas de mitigación inmediatas.
Ficha Técnica de Dirty Frag
| Característica | Detalle |
|---|---|
| Nombre del exploit | Dirty Frag |
| Investigador | Hyunwoo Kim (v4bel) |
| CVEs asociados | CVE-2026-43284, CVE-2026-43500 |
| Tipo de ataque | Escalada de privilegios local |
| Vector principal | Modificación de caché de páginas en memoria |
| Objetivos | /usr/bin/su y /etc/passwd |
| Parche disponible | No (excepto AlmaLinux en repositorios de testing) |
| Mitigación temporal | Blacklist de módulos: esp4, esp6, rxrpc |
Advertencia crítica: Dirty Frag no es una variante de Copy Fail. Son vulnerabilidades distintas que requieren mitigaciones específicas.
¿Qué es Dirty Frag y Cómo Funciona?
Dirty Frag explota dos vulnerabilidades independientes en el kernel de Linux que, cuando se encadenan, permiten modificar archivos críticos del sistema en memoria sin alterar su versión en disco.
Vulnerabilidad 1: xfrm-ESP Page-Cache Write (CVE-2026-43284)
| Aspecto | Detalle |
|---|---|
| Objetivo | /usr/bin/su |
| Mecanismo | Reemplaza la copia en memoria del binario su con una versión modificada que otorga shell root |
| Requisito | Namespace de usuario habilitado |
| Limitación | Algunas configuraciones de AppArmor en Ubuntu bloquean este vector |
Vulnerabilidad 2: RxRPC Page-Cache Write (CVE-2026-43500)
| Aspecto | Detalle |
|---|---|
| Objetivo | /etc/passwd |
| Mecanismo | Vacía el campo de contraseña del usuario root en la copia en memoria |
| Resultado | PAM acepta entrada vacía y permite login como root sin contraseña |
| Requisito | Módulo rxrpc.ko cargado en el kernel |
| Limitación | El módulo no está incluido por defecto en la mayoría de distribuciones |
¿Por Qué se Encadenan?
Ninguna vulnerabilidad funciona de forma universal por sí sola:
CVE-2026-43284 (xfrm-ESP)
├─ Funciona en la mayoría de distros
└─ Requiere user namespace (bloqueado por AppArmor en algunos Ubuntu)
CVE-2026-43500 (RxRPC)
├─ No requiere user namespace
└─ Requiere módulo rxrpc.ko (ausente en builds por defecto de muchas distros)
COMBINACIÓN = Cobertura universal de distribuciones principales
Ubuntu es una de las pocas distribuciones que incluye el módulo rxrpc.ko por defecto, lo que la hace vulnerable a ambos vectores individualmente.
⚠️ Diferencias Clave: Dirty Frag vs. Copy Fail
| Característica | Copy Fail | Dirty Frag |
|---|---|---|
| Mecanismo | Lógica de copia de archivos | Caché de páginas del kernel |
| Archivos objetivo | Genéricos | /usr/bin/su, /etc/passwd |
| Mitigación | Blacklist de algif_aead | Blacklist de esp4, esp6, rxrpc |
| Requisitos | Acceso local | Acceso local + módulos específicos |
| Parche disponible | Sí (en la mayoría de distros) | No (excepto AlmaLinux testing) |
| Impacto | Escalada a root | Escalada a root + persistencia en memoria |
Conclusión operativa: Si aplicaste mitigaciones para Copy Fail, tu sistema sigue vulnerable a Dirty Frag. Debes aplicar nuevas contramedidas específicas.
Sistemas y Distribuciones Afectadas
Distribuciones Confirmadas Vulnerables
| Distribución | Estado del Parche | Notas |
|---|---|---|
| Ubuntu | Sin parche oficial | Incluye módulo rxrpc.ko por defecto; vulnerable a ambos CVEs |
| Debian | Sin parche oficial | Vulnerable si módulos están cargados manualmente |
| Fedora | Sin parche oficial | Build por defecto sin rxrpc.ko, pero xfrm-ESP aplicable |
| CentOS/RHEL | Sin parche oficial | Requiere verificación manual de módulos |
| Arch Linux | Sin parche oficial | Kernel vanilla; vulnerable si módulos presentes |
| AlmaLinux | ✅ Parche en testing | Única distro con kernels parcheados disponibles públicamente |
Verificación Rápida de Vulnerabilidad
Ejecuta estos comandos para evaluar tu exposición:
# Verificar si los módulos vulnerables están cargados
lsmod | grep -E 'esp4|esp6|rxrpc'
# Verificar si user namespaces están habilitados
cat /proc/sys/kernel/unprivileged_userns_clone 2>/dev/null || echo "No aplica"
# Verificar configuración de AppArmor (Ubuntu)
aa-status 2>/dev/null | grep -i "su\|profile" || echo "AppArmor no activo"
Interpretación:
– Si alguno de los módulos esp4, esp6 o rxrpc aparece en lsmod → Vulnerable
– Si unprivileged_userns_clone devuelve 0 o no existe → CVE-2026-43284 podría ser aplicable
– Si AppArmor está activo con perfiles restrictivos → Posible mitigación parcial
Mitigación Inmediata: Blacklist de Módulos
Mientras se esperan parches oficiales, la única contramedida efectiva es deshabilitar los módulos kernel involucrados.
Comando de Mitigación Automatizada
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"
Desglose del Comando
| Componente | Función |
|---|---|
printf 'install esp4 /bin/false' > /etc/modprobe.d/dirtyfrag.conf | Crea regla para bloquear carga futura de módulos vulnerables |
rmmod esp4 esp6 rxrpc 2>/dev/null | Descarga módulos si están actualmente cargados (silencia errores si no están presentes) |
echo 3 > /proc/sys/vm/drop_caches | Limpia caché de páginas, eliminando posibles modificaciones en memoria |
true | Garantiza que el comando finalice con código de éxito incluso si rmmod falla |
Verificación Post-Mitigación
# Confirmar que los módulos no pueden cargarse
modprobe esp4 2>&1 | grep -i "install" || echo "Posible problema"
# Verificar que la caché fue limpiada
free -h # Observar cambio en "buff/cache"
# Revisar archivo de configuración creado
cat /etc/modprobe.d/dirtyfrag.conf
Consideraciones de la Mitigación
⚠️ Impacto funcional:
esp4/esp6: Pueden afectar conexiones IPsec/VPN que dependen de ESP (Encapsulating Security Payload)rxrpc: Puede romper aplicaciones que usan RPC sobre UDP (poco común en entornos generales)
✅ Recomendación:
- Aplica la mitigación en sistemas críticos inmediatamente
- Monitorea funcionalidad de red post-aplicación
- Revierte la mitigación solo después de aplicar parches oficiales y reiniciar
Proceso de Parcheo y Actualización
Estado Actual de Parches por Distribución
| Distribución | Repositorio con Parche | Comando de Actualización |
|---|---|---|
| AlmaLinux | testing | sudo dnf upgrade --enablerepo=testing kernel |
| Ubuntu | No disponible | Monitorear usn.ubuntu.com |
| Debian | No disponible | Monitorear security-tracker.debian.org |
| Fedora | No disponible | Monitorear bodhi.fedoraproject.org |
Pasos Recomendados Post-Parche
1. Aplicar actualización del kernel:
# Debian/Ubuntu
sudo apt update && sudo apt install linux-image-generic
# Fedora/RHEL/AlmaLinux
sudo dnf upgrade kernel
2. Reiniciar el sistema para cargar el nuevo kernel:
sudo reboot
3. Eliminar mitigación temporal (solo después de confirmar parche):
sudo rm /etc/modprobe.d/dirtyfrag.conf
sudo update-initramfs -u # Debian/Ubuntu
# O reiniciar para aplicar cambios en otras distros
4. Verificar versión del kernel:
uname -r
# Comparar con versiones parcheadas publicadas por tu distribución
Monitoreo y Detección Proactiva
Indicadores de Compromiso (IoCs)
Monitorea estos eventos como posibles señales de explotación:
# Intentos de carga de módulos bloqueados
grep -i "dirtyfrag\|esp4\|rxrpc" /var/log/kern.log
# Cambios inusuales en /etc/passwd en memoria (requiere herramientas avanzadas)
# Verificar procesos su con comportamientos anómalos
ps aux | grep "su\|bash" | grep -v grep
# Logins root sin contraseña (si CVE-2026-43500 fue explotado)
grep "Accepted.*root" /var/log/auth.log | grep -v "password"
Herramientas Recomendadas para Detección
| Herramienta | Función | Instalación |
|---|---|---|
| auditd | Auditoría de acceso a archivos críticos | sudo apt install auditd |
| Lynis | Escaneo de seguridad y hardening | sudo apt install lynis |
| chkrootkit | Detección de rootkits y modificaciones | sudo apt install chkrootkit |
| OSQuery | Consultas SQL sobre estado del sistema | osquery.io |
Conclusión
Dirty Frag representa una amenaza inmediata para sistemas Linux no parcheados. Con un exploit funcional disponible públicamente y parches oficiales aún ausentes en la mayoría de distribuciones, la ventana de exposición es amplia y peligrosa.
Acciones prioritarias para administradores de sistemas:
- Aplicar mitigación de blacklist inmediatamente en sistemas críticos
- Verificar exposición mediante los comandos de diagnóstico proporcionados
- Monitorear canales oficiales de tu distribución para parches
- Planificar reinicio post-parche para cargar kernel actualizado
- Reforzar controles de acceso mientras persista la vulnerabilidad
La naturaleza de este ataque —modificación en memoria sin alteración en disco, lo que lo hace particularmente sigiloso. No esperes a que aparezcan indicadores de compromiso: la prevención proactiva es la única defensa efectiva en esta etapa.
