Vulnerabilidad en Docker
- Publicado: 29/05/2019
- Importancia: Media
- Recursos afectados
Docker es una tecnología de creación de contenedores que permite el uso de los mismos en Linux. Puede utilizar los contenedores como máquinas virtuales extremadamente livianas y modulares. Actualmente todas las versiones de Docker son vulnerables a una condición de carrera (Estado de un proceso es dependiente de una secuencia de eventos que se ejecutan en orden arbitrario y van a trabajar sobre un mismo recurso compartido) que podría permitir que un atacante tuviera acceso de lectura y escritura a cualquier archivo en el servidor de host.
En el análisis realizado por el CSIRT financiero se logra observar qué el fallo es el resultado de la forma en la que el software Docker maneja algunos enlaces simbólicos, los cuales son archivos que tienen rutas a otros directorios o archivos. La vulnerabilidad proviene de la función FollowSymlinkInScope (Su objetivo es tomar un camino dado y resolverlo con seguridad como si el proceso estuviera dentro del contenedor) que sufre un ataque de TOCTOU (time-of-check to time-of-use, tiempo de comprobación al tiempo de uso) fundamental. En esta vulnerabilidad un atacante podría insertar su propio enlace simbólico (acceso directo) en una ruta durante un corto periodo de tiempo entre el momento en que la ruta se ha resuelto y el momento en que se opera. Esta es una variante del problema del tiempo de control al tiempo de uso, específicamente con el comando “docker cp”, el cual copia los archivos hacia y desde contenedores.