docker blog title

Vulnerabilidad de seguridad en Runc en contenedores de servicios

Se ha divulgado una vulnerabilidad de seguridad para una fallo en el tiempo de ejecución de contenedores de Runc, Docker y Kubernetes, que se puede usar para atacar cualquier sistema host que ejecute contenedores de servicios

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 responsables de runc, ha conseguido crear una versión modificada del fallo que también afectaría a LXC.

Runc es el tiempo de ejecución del contenedor subyacente para Docker, Kubernetes y otros programas dependientes del contenedor. Es una herramienta de línea de comandos de código abierto para generar y ejecutar contenedores. Docker lo creó originalmente. Hoy en día, es una especificación de Open Container Initiative (OCI). Es ampliamente utilizado. Lo más probable es que, si está utilizando contenedores, los esté ejecutando en runc.

Para la explotación de este fallo sólo es necesario un contenedor malicioso, en el cual deberíamos sobre escribir el archivo binario ‘runc’ de la máquina host, y que el usuario acceda a dicho contenedor (utilizando ‘docker exec’). Comentarles que el ataque no es bloqueado en primera instancia 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 utilizarlo, una posible solución es configurar SELinux correctamente para impedir la explotación.

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.

Fuente:

https://unaaldia.hispasec.com/2019/02/vulnerabilidad-en-runc-permite-escapar-de-contenedor-docker-con-permisos-root.html/amp