RunC Flaw permite a los atacantes escapar de los contenedores de Linux para obtener acceso a los hosts

contenedor de linux runc docker hack

Se ha descubierto una grave vulnerabilidad de seguridad en el núcleo correrC código de contenedor que afecta a varios sistemas de gestión de contenedores de código abierto, lo que podría permitir a los atacantes escapar del contenedor de Linux y obtener acceso no autorizado a nivel raíz al sistema operativo host.

La vulnerabilidad, identificada como CVE-2019-5736, fue descubierta por los investigadores de seguridad de código abierto Adam Iwaniuk y Borys Popławski y divulgada públicamente por Aleksa Sarai, ingeniera de software sénior y mantenedora de runC en SUSE Linux GmbH el lunes.

La falla reside en runC, una herramienta liviana de línea de comandos de bajo nivel para generar y ejecutar contenedores, un método de virtualización a nivel de sistema operativo para ejecutar múltiples sistemas aislados en un host usando un solo kernel.

Originalmente creado por Docker, runC es el tiempo de ejecución de contenedor predeterminado para Docker, Kubernetes, ContainerD, CRI-O y otros programas dependientes de contenedor, y es ampliamente utilizado por los principales proveedores de servidores y alojamiento en la nube.

Vulnerabilidad de escape del contenedor runC [CVE-2019-5736]

Aunque los investigadores aún no han publicado los detalles técnicos completos de la falla para dar tiempo a las personas para parchear, el aviso de Red Hat dice que «la falla se encontró en la forma en que runC manejaba los descriptores de archivos del sistema cuando ejecutaba contenedores».

Por lo tanto, un contenedor malicioso especialmente diseñado o un atacante que tenga acceso de raíz a un contenedor podría explotar esta falla (con una interacción mínima del usuario) para obtener privilegios administrativos en la máquina host que ejecuta el contenedor, comprometiendo eventualmente los cientos o miles de otros contenedores. corriendo sobre el

Para el acceso de root al contenedor, el atacante tiene que:

  • crear un nuevo contenedor usando una imagen controlada por el atacante, o
  • adjuntar (docker exec) en un contenedor existente al que el atacante tenía acceso de escritura anterior.

«Un contenedor malicioso [then] podría usar esta falla para sobrescribir el contenido del binario runC y, en consecuencia, ejecutar comandos arbitrarios en el sistema host del contenedor «, afirma el aviso.

¿Qué tan grave es esta vulnerabilidad?

Scott McCarty, gerente principal de productos para contenedores en Red Hat, dice: «Si bien hay muy pocos incidentes que podrían calificar como un escenario del fin del mundo para la TI empresarial, un conjunto en cascada de exploits que afectan a una amplia gama de sistemas de producción interconectados califica… y eso es exactamente lo que representa esta vulnerabilidad”.

RunC Flaw: actualizaciones y mitigación de parches de seguridad

Según Red Hat, la vulnerabilidad se puede mitigar si se habilita SELinux en el modo de cumplimiento dirigido, que es el predeterminado en RedHat Enterprise Linux, CentOS y Fedora.

Los mantenedores de runC han publicado un compromiso de git para resolver la falla de seguridad, pero todos los proyectos creados sobre runC deben incorporar los parches en sus productos.

Debian y Ubuntu también han reconocido que sus distribuciones de Linux son vulnerables a la vulnerabilidad reportada. El problema también afecta a los sistemas de contenedores que utilizan LXC, una herramienta de contenedorización de Linux que es anterior a Docker, y al código de contenedor de Apache Mesos.

Los principales vendedores y proveedores de servicios en la nube ya han lanzado parches de seguridad para abordar el problema, incluidos Google, Amazon, Docker y Kubernetes.

Rancher, el creador del software de gestión de Kubernetes de código abierto, también ha publicado un script de parches para las versiones heredadas de Docker.

Si está ejecutando algún tipo de contenedor, considérese vulnerable y actualice a una imagen con una versión fija de runC tan pronto como esté disponible para evitar ataques cibernéticos.

Continua leyendo