El descubrimiento de cuatro vulnerabilidades conocidas como “Leaky Vessels” ha planteado preocupaciones significativas en el mundo de la seguridad informática.
Estas vulnerabilidades, detectadas por el investigador de seguridad de Snyk, Rory McNamara, en noviembre de 2023, representan una amenaza potencial para la integridad de los contenedores Docker y runc, así como para la seguridad de los datos alojados en los sistemas operativos subyacentes.
Escape de contenedores
Los contenedores, ampliamente utilizados en la implementación de aplicaciones, proporcionan un entorno aislado y seguro para ejecutar software sin interferir con otros procesos o recursos del sistema.
Sin embargo, cuando se descubren vulnerabilidades como las “Leaky Vessels” la seguridad de estos entornos se ve comprometida, permitiendo a los atacantes escapar del aislamiento del contenedor y acceder a datos críticos en el sistema operativo anfitrión.
Las cuatro vulnerabilidades identificadas por el equipo de Snyk afectan a la infraestructura y las herramientas de compilación de contenedores, como runc y Buildkit, lo que potencialmente permite a los atacantes realizar un escape de contenedores en varios productos de software.
Detalles de las vulnerabilidades
Las vulnerabilidades identificadas como parte de “Leaky Vessels” son las siguientes:
CVE-2024-21626:
Este fallo, derivado de una falla en el orden de las operaciones con el comando WORKDIR en runc, permite a los atacantes escapar del entorno aislado del contenedor, otorgando acceso no autorizado al sistema operativo anfitrión y comprometiendo potencialmente todo el sistema.
CVE-2024-23651:
Una condición de carrera dentro del manejo de caché de montaje de Buildkit que conduce a un comportamiento impredecible, lo que potencialmente permite a un atacante manipular el proceso para obtener acceso no autorizado o para interrumpir las operaciones normales del contenedor.
CVE-2024-23652:
Fallo que permite la eliminación arbitraria de archivos o directorios durante la fase de desmontaje del contenedor de Buildkit. Esto podría llevar a una denegación de servicio, corrupción de datos o manipulación no autorizada de datos.
CVE-2024-23653:
Esta vulnerabilidad surge de controles de privilegios inadecuados en la interfaz GRPC de Buildkit, lo que podría permitir a los atacantes ejecutar acciones más allá de sus permisos, lo que lleva a una escalada de privilegios o acceso no autorizado a datos sensibles.
Impacto y soluciones
Dado que Buildkit y runc son ampliamente utilizados por proyectos populares como Docker y varias distribuciones de Linux, la corrección de las vulnerabilidades de “Leaky Vessels” requirió acciones coordinadas entre el equipo de investigación de seguridad de Snyk, los mantenedores de los componentes afectados (runc y BuildKit) y la comunidad de infraestructura de contenedores en general.
El 31 de enero de 2024, Buildkit solucionó los fallos con la versión 0.12.5, y runc abordó el problema de seguridad que lo afectaba en la versión 1.1.12. Docker lanzó la versión 4.27.0 el mismo día, incorporando las versiones seguras de los componentes en su motor Moby, con las versiones 25.0.1 y 24.0.8.
Además, Amazon Web Services, Google Cloud y Ubuntu publicaron boletines de seguridad relevantes, guiando a los usuarios a través de los pasos apropiados para resolver los fallos en su software y servicios.
Finalmente, CISA también publicó una alerta instando a los administradores de sistemas en la nube a tomar las medidas apropiadas para proteger sus sistemas de posibles explotaciones.
Preguntas y respuestas
1. ¿Cuáles son las vulnerabilidades asociadas con “Leaky Vessels” y qué impacto pueden tener?
Las vulnerabilidades asociadas con “Leaky Vessels” son CVE-2024-21626, CVE-2024-23651, CVE-2024-23652 y CVE-2024-23653. Estas vulnerabilidades pueden permitir a los atacantes escapar del entorno aislado del contenedor y acceder a datos sensibles en el sistema operativo anfitrión, comprometiendo así la seguridad del sistema.
2. ¿Cómo se han abordado estas vulnerabilidades por parte de los desarrolladores de software?
Los desarrolladores de software han abordado estas vulnerabilidades mediante la emisión de parches de seguridad. Buildkit lanzó la versión 0.12.5 y runc lanzó la versión 1.1.12, que corrigen estas vulnerabilidades. Además, Docker también ha actualizado su motor Moby con las versiones seguras de los componentes afectados.
3. ¿Qué medidas deben tomar los administradores de sistemas para proteger sus sistemas contra las vulnerabilidades de “Leaky Vessels”?
Los administradores de sistemas deben aplicar las actualizaciones de seguridad proporcionadas por los desarrolladores de software afectados. Además, deben seguir las recomendaciones de seguridad proporcionadas por organizaciones como Amazon Web Services, Google Cloud y Ubuntu. Se recomienda encarecidamente la aplicación oportuna de parches para mitigar el riesgo de explotación de estas vulnerabilidades.