No sé cómo se ejecuta exactamente un kernel UML en el sistema host. Estoy especulando por completo , pero mis especulaciones pueden ser útiles si puedes combinarlas con alguna documentación sobre implementaciones de UML.
Ampliación de privilegios en el invitado con un exploit específico para el huésped
Ser root en el kernel invitado debería esencialmente permitirte hacer lo que quieras con los privilegios del PID que se usó para ejecutar este kernel.
Si la ejecución de un kernel UML se realiza con UID 0 (lo que supongo que es poco probable), el proceso no se ejecuta en un espacio de nombres PID, y el proceso se ha dejado con uno de los muchas capacidades que permiten privilegios completos , entonces usted está en problemas profundos y debe considerar que todo el host está contaminado.
Si ese proceso se ejecuta con UID 0 fuera de un espacio de nombres PID pero con algún tipo de aplicación de MAC, lo que puede hacer y cómo puede persistir depende del sistema específico. roles de SELinux pueden ser particularmente útiles para agregar protección adicional. También es probable que estés en problemas.
Si el proceso se ejecuta con otro UID, o está bloqueado en un espacio de nombres PID, es más probable que esté protegido. La VM invitada estará lista, pero debería haber límites a lo que su adversario puede hacer y el resto del sistema host podría estar protegido decentemente.
La escalada de privilegios con una vulnerabilidad también se aplica al host
No es improbable que el host de su kernel UML sea el mismo kernel. Por lo tanto, suponiendo que un atacante haya encontrado una forma de abusar de un kernel UML sería razonable suponer que también tiene un exploit para el kernel host, excepto por:
- Los espacios de nombre y MAC pueden proporcionar cierta protección al garantizar que haya menos de la interfaz de Linux syscall disponible y que pueda evitar que su atacante ejecute el exploit.
- Un exploit que se basa en un módulo no confiable que solo está presente en ese kernel invitado tampoco llevaría a un compromiso del host.