
Exploit del kernel de Linux para CVE-2020-27786 que utiliza una condición de carrera con userfaultd para desencadenar un use-after-free, filtrar direcciones del kernel mediante msg_msg y sobrescribir modprobe_path para escalar privilegios a root.
Puedes encontrar todos los detalles y la explicación aquí: https://1day.dev/notes/Linux-Kernel-n-day-exploit-development
La vulnerabilidad es una Race Condition que provoca un Use-After-Free de escritura. La ventana de carrera se ha ampliado utilizando la técnica userfaultd manejando fallos de página desde el espacio de usuario y usando msg_msg para filtrar una dirección del kernel y vectores I/O para obtener una primitiva de escritura. Con la primitiva de escritura, la variable global modprobe_path ha sido sobrescrita y se ha obtenido una shell de root.