En el mundo de la tecnología de la información, la seguridad informática es una prioridad constante dada la evolución continua de las amenazas cibernéticas. Recientemente, se han descubierto fallos significativos en RunC, el componente subyacente utilizado por Docker y otras plataformas de contenedores, que podría permitir a los atacantes ejecutar código malicioso y escapar de los contenedores para comprometer sistemas host.
Naturaleza de los Fallos Descubiertos
Se han descubierto múltiples vulnerabilidades de seguridad en la herramienta de línea de comandos runC, las cuales podrían ser explotadas por actores maliciosos para evadir las restricciones de los contenedores y llevar a cabo ataques de seguimiento.
Estas vulnerabilidades, identificadas como CVE-2024-21626, CVE-2024-23651, CVE-2024-23652 y CVE-2024-23653, han sido denominadas colectivamente como "Leaky Vessels" por una empresa de ciberseguridad.
Te podrá interesar: Identificando vulnerabilidades: El poder de las CVE
Estos escapes de contenedores podrían permitir que un atacante obtenga acceso no autorizado al sistema operativo principal desde el interior del contenedor, lo que podría conducir al acceso a datos confidenciales y la ejecución de más ataques, especialmente si se obtiene acceso con privilegios de superusuario.
RunC es una herramienta utilizada para crear y ejecutar contenedores en sistemas Linux. Inicialmente, formaba parte de Docker y se convirtió en una biblioteca de código abierto independiente en 2015.
Las vulnerabilidades específicas incluyen:
- CVE-2024-21626 (CVSS: 8.6): Fuga del directorio de trabajo y descriptores de archivos filtrados en runC.
- CVE-2024-23651 (CVSS: 8.7): Rompimiento del contenedor en condiciones de carrera durante el proceso de construcción.
- CVE-2024-23652 (CVSS: 10.0): Eliminación arbitraria de puntos de desmontaje de contenedores durante el proceso de construcción de Buildkit.
- CVE-2024-23653 (CVSS: 9.8): Vulnerabilidad en la verificación de privilegios del modo de seguridad GRPC, que permite romper el contenedor durante la compilación.
La más crítica de estas vulnerabilidades es CVE-2024-21626, que podría provocar un escape del contenedor relacionado con el comando "WORKDIR". Esto podría ocurrir al ejecutar una imagen maliciosa o al crear una imagen de contenedor utilizando un Dockerfile o una imagen ascendente maliciosos.
Hasta la fecha, no se tiene evidencia de que estas deficiencias hayan sido explotadas en la naturaleza. Sin embargo, se han corregido en la versión 1.1.12 de runC, que fue lanzada después de una divulgación responsable en noviembre de 2023.
Conoce más sobre: ¿Tu software está al día?: Importancia de los Parches
Debido a que estas vulnerabilidades afectan a componentes ampliamente utilizados en motores de contenedores de bajo nivel y herramientas de creación de contenedores, se recomienda encarecidamente a los usuarios que busquen actualizaciones de sus proveedores de entornos de ejecución de contenedores, como Docker, proveedores de Kubernetes, servicios de contenedores en la nube y comunidades de código abierto.
Docker también ha emitido un aviso independiente, destacando que estas vulnerabilidades solo pueden ser explotadas si un usuario interactúa activamente con contenido malicioso durante el proceso de construcción o ejecuta un contenedor desde una imagen no autorizada. Los posibles impactos incluyen el acceso no autorizado al sistema de archivos del host, la compromisión de la integridad del caché de compilación y, en el caso de CVE-2024-21626, la posibilidad de un escape completo del contenedor.
Amazon Web Services (AWS) y Google Cloud han emitido sus propias alertas, instando a sus clientes a tomar medidas adecuadas cuando sea necesario. Es importante destacar que en febrero de 2019, los mantenedores de runC abordaron otra vulnerabilidad grave (CVE-2019-5736) que permitía a los atacantes escapar del contenedor y obtener acceso de superusuario en el host.
Las debilidades de seguridad en entornos de nube y contenedores continúan siendo un riesgo importante, ya que las organizaciones a menudo otorgan excesivos permisos y privilegios administrativos durante la configuración inicial, lo que deja espacio para configuraciones erróneas y oportunidades de escalada de privilegios para los atacantes. Esto destaca la importancia de una gestión adecuada de identidades, accesos y privilegios en la seguridad de la nube y los contenedores.
Te podrá interesar: Ataque a los hosts de Docker: Esquema de robo de tráfico web
Conclusión
Los fallos en RunCdestacan la importancia crítica de mantener las infraestructuras de contenedores actualizadas y seguras. A medida que los contenedores continúan siendo una pieza fundamental en la entrega y operación de aplicaciones, la seguridad de estos entornos debe ser una prioridad máxima para las organizaciones.
La vigilancia continua, la educación sobre seguridad y la colaboración entre equipos de desarrollo, operaciones y seguridad son fundamentales para navegar el paisaje de amenazas en constante evolución y asegurar la resiliencia frente a vulnerabilidades como las descubiertas en RunC.