
Este documento explica la clase de vulnerabilidad Dirty Frag, descubierta y reportada por Hyunwoo Kim (@v4bel). Al encadenar xfrm-ESP Page-Cache Write (CVE-2026-43284) con RxRPC Page-Cache Write (CVE-2026-43500), un atacante puede escalar a root en las principales distribuciones de Linux.
Dirty Frag pertenece a la misma familia de errores que Dirty Pipe y Copy Fail. Es un error lógico determinista que no depende de ventanas de tiempo ni condiciones de carrera, no provoca pánicos del kernel al fallar y tiene una tasa de éxito muy alta cuando se explota.
Para obtener todos los detalles técnicos y la cronología de divulgación, consulte el informe técnico adjunto (no incluido en este repositorio).
xfrm-ESP Page-Cache Write (CVE-2026-43284) se corrigió en la rama principal en el commit f4c50a4034e6.RxRPC Page-Cache Write (CVE-2026-43500) se corrigió en la rama principal en el commit aa54b1d27fe0.[!NOTE] Cuando este documento se publicó por primera vez (2026-05-07), el embargo ya se había roto externamente. En ese momento no había ningún parche público ni CVE disponible. Tras las conversaciones con los mantenedores en [email protected], se publicó la divulgación de Dirty Frag. Consulte el informe técnico para conocer la cronología.
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp
Este PoC se comparte con fines informativos tras la coordinación con linux-distros. No lo ejecute contra sistemas que no esté autorizado a probar.
⚠️ Importante: Ejecutar el exploit contamina la caché de páginas. Para restaurar un estado limpio, ejecute:
echo 3 > /proc/sys/vm/drop_caches
o reinicie la máquina.
En la práctica, estas vulnerabilidades abarcan aproximadamente nueve años.
Las versiones de distribuciones probadas incluyen:
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"
xfrm-ESP Page-Cache Write ofrece una primitiva STORE arbitraria de 4 bytes similar a la de Copy Fail y está disponible en muchas distribuciones, pero requiere privilegios para crear un namespace.
Ubuntu puede restringir la creación de namespaces de usuario sin privilegios mediante AppArmor, lo que impide que xfrm-ESP se active. RxRPC Page-Cache Write no requiere privilegios para crear namespaces, pero el módulo rxrpc.ko no está presente por defecto en muchas distribuciones. En Ubuntu, sin embargo, rxrpc.ko suele estar cargado.
Encadenar ambas cubre las carencias de cada una, lo que permite obtener root en todas las distribuciones principales. Consulte el informe técnico para más detalles.
Sí — Dirty Frag está relacionado con "Dirty Pipe", y el nombre refleja que la clase de error altera el miembro frag de struct sk_buff.
Copy Fail inspiró esta investigación. xfrm-ESP Page-Cache Write de la cadena Dirty Frag comparte el mismo sink que Copy Fail, pero se activa incluso cuando la mitigación algif_aead está presente. Por lo tanto, los sistemas endurecidos contra Copy Fail pueden seguir siendo vulnerables a Dirty Frag.
Siga los pasos de la sección de Mitigación anterior.
Mantenedor: https://linkedin.com/in/tahamuhammadshafiq