Inicio/Insights/Dirty Frag
ADVISORY6 min de lectura08 / 05 / 2026

Dirty Frag: cuando un usuario local puede modificar page cache y volverse root.

Dirty Frag es una cadena de vulnerabilidades de escalamiento local de privilegios en el kernel Linux. No es un RCE remoto por sí sola, pero con PoC público cambia la urgencia para hosts que ejecutan código de terceros, contenedores, runners de CI/CD o cuentas shell compartidas.

BD
BlackDoor ResearchThreat Advisory · BlackDoor

// 01 — RESUMENQué es Dirty Frag.

Dirty Frag es una vulnerabilidad CVE-pending de escalamiento local de privilegios en Linux. La investigación describe una cadena que combina dos fallas de escritura en page cache: xfrm-ESP Page-Cache Write y RxRPC Page-Cache Write.

El patrón técnico es familiar para quienes siguieron Dirty Pipe y Copy Fail: una ruta de envío zero-copy con splice() deja una referencia a una página de cache dentro del frag de un sk_buff. Luego, código del kernel realiza criptografía in-place sobre esa memoria, modificando en RAM archivos que el usuario solo podía leer, como /etc/passwd o /usr/bin/su.

CVE-pendingAl 8 de mayo de 2026 no hay identificador CVE asignado para la cadena reportada.
PoCHay exploit público tras una ruptura de embargo reportada el 7 de mayo de 2026.
LocalRequiere ejecución de código sin privilegios en el host afectado.
Dirty Frag no necesita una ventana de carrera para funcionar. El riesgo operacional sube porque un foothold local puede convertirse en control total del host. BlackDoor Research · 8 de mayo de 2026

// 02 — IMPACTOPor qué importa aunque sea local.

Una LPE local rara vez es el primer paso del ataque. El problema es que suele ser el segundo paso perfecto: después de una webshell, una credencial SSH robada, un job de CI malicioso o un contenedor comprometido.

  • Runners self-hosted: un pipeline que ejecuta código de terceros puede dejar de ser un riesgo aislado y convertirse en compromiso del runner.
  • Kubernetes y containers: el riesgo depende de la barrera real entre pod y nodo, perfiles seccomp, capacidades, namespaces y kernel compartido.
  • Servidores multiusuario: bastiones, hosting compartido, laboratorios y equipos de desarrollo concentran exposición.
  • SaaS con ejecución de código: notebooks, sandboxes, evaluadores, plugins y funciones internas deben tratarse como prioridad alta.
  • Hosts single-tenant expuestos: si una app puede terminar en RCE, la LPE aumenta el impacto de esa intrusión.

// 03 — PRIORIZACIÓNQué revisar primero.

No todos los Linux pesan igual en el riesgo. Prioriza por probabilidad de ejecución de código no confiable y por impacto de un root local.

  1. CI/CD self-hosted que ejecute pull requests, builds de proveedores o artefactos no confiables.
  2. Nodos Kubernetes con workloads de varios equipos, clientes o ambientes compartidos.
  3. Servidores con cuentas shell, bastiones o acceso de terceros.
  4. Hosts con IPsec o RxRPC disponible, porque las mitigaciones temporales pueden afectar esos módulos.
  5. Workstations Linux de administradores con acceso a llaves, kubeconfigs o credenciales de producción.

Regla operacional

Si un host permite ejecutar código que no controla tu equipo de infraestructura, trátalo como prioridad alta hasta tener kernel corregido y reboot confirmado.

// 04 — MITIGACIÓNQué hacer hoy.

La solución correcta es aplicar el kernel corregido de tu distribución y reiniciar. Mientras los backports llegan, las fuentes recomiendan bloquear temporalmente los módulos asociados a la cadena: esp4, esp6 y rxrpc. Esta medida puede romper IPsec o usos legítimos de RxRPC, por lo que debe evaluarse antes de aplicarla masivamente.

  • Inventaria kernel activo: valida con uname -r y no solo con paquetes instalados.
  • Actualiza desde repos oficiales: Ubuntu, Red Hat, SUSE, Fedora, AlmaLinux, CentOS Stream o tu proveedor.
  • Programa reboot o live patch: confirma que el kernel nuevo esté corriendo en cada host crítico.
  • Mitiga si no puedes parchar: bloquea módulos vulnerables solo después de revisar impacto en IPsec/VPN y dependencias internas.
# Mitigación temporal reportada por las fuentes públicas
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 || true

# Validar kernel activo después del parcheo
uname -r

No ejecutes PoCs públicos en producción. Si necesitas validar exposición, usa un entorno representativo, aislado y con autorización explícita.

// 05 — VALIDACIÓNQué mirar después.

Después del parche o mitigación, revisa si el servidor pudo haber sido usado durante la ventana vulnerable y reduce la probabilidad de repetir el patrón.

  • Procesos y shells: busca shells privilegiadas inesperadas, cambios de UID y ejecución anómala de binarios setuid.
  • Logs de CI/CD: revisa jobs no confiables ejecutados desde el 7 de mayo de 2026 en runners persistentes.
  • Runtime de containers: verifica perfiles seccomp, capacidades excesivas y pods con permisos de host.
  • Módulos cargados: confirma si esp4, esp6 o rxrpc están activos donde no deberían.
  • Imágenes base: reconstruye runners o nodos efímeros si procesaron código de terceros durante la ventana.
¿Tienes Linux, Kubernetes o CI/CD?

Te ayudamos a priorizar y mitigar Dirty Frag sin improvisar.

Inventario de kernels, revisión de módulos, hardening de containers y plan de remediación para flotas Linux en producción.

Evaluar exposición Cotizar remediación