Vulnerabilidad en runc permite escapar de contenedor Docker con permisos root
El fallo afecta a otros productos derivados de Docker que usan runc y al propio LXC, permitiendo acceder a la máquina host con permisos de superusuario.
Los investigadores Adam Iwaniuk y Borys Popławski han descubierto una vulnerabilidad en runc, la utilidad para ejecutar contenedores de la Open Containers Initiative, por la cual es posible obtener root en la máquina que ejecuta el contenedor. Además, Aleksa Sarai, uno de los mantenedores de runc, ha conseguido crear una versión modificada del fallo que también afectaría a LXC.
Para la explotación del fallo sólo es necesario un contenedor malicioso, el cual sobrescribirá el binario ‘runc’ de la máquina host, y que el usuario acceda dicho contenedor (utilizando ‘docker exec’). El ataque no es bloqueado por la política por defecto de AppArmor, al igual que la de SELinux en sistemas como Fedora. No obstante, utilizando el modo enforcing mode con una correcta configuración de los namespaces (como ocurre por defecto en Red Hat), el ataque sí es bloqueado.
La vulnerabilidad ha sido identificada con el CVE-2019-5736, y ya hay un parche disponible que corrige el fallo. Si no fuese posible parchear, una posible solución es configurar SELinux correctamente para impedir la explotación. El 18 de febrero (7 días después de la revelarse el fallo) se publicará una prueba de concepto para poder comprobar si se es vulnerable.
Empresas de Cloud como Amazon AWS ya se han comunicado con sus clientes para informarles del fallo, y se espera que en los próximos días otras empresas del sector hagan lo mismo. En principio, los clientes de estos servicios no necesitan tomar medidas, pero aquellos administradores de sistemas que mantengan servidores con Docker deberán parchear para evitar ser víctimas del CVE-2019-5736.
Via: unaaldia.hispasec.com