Skip to main content

Las 5 principales vulnerabilidades de seguridad de Docker

Escrito por

31 de octubre de 2022

0 minutos de lectura

¿Qué es una vulnerabilidad de Docker?

Una vulnerabilidad de Docker es cualquier debilidad en una imagen, un contenedor o un host que podría ser explotada. Cuando se descubren y divulgan públicamente, estas vulnerabilidades se agregan a la lista de Vulnerabilidades y exposiciones comunes (CVE). Además, el Sistema de puntuación de vulnerabilidades comunes (CVSS) publica información sobre la gravedad de cada vulnerabilidad en la lista de CVE.

Las 5 vulnerabilidades de Docker que debes conocer

Estas son las cinco principales vulnerabilidades de Docker o CVE que los equipos de desarrollo deben tener en cuenta.

1. CVE-2019-5736: VULNERABILIDAD DE ESCAPE DE CONTENEDOR DE RUNC

Existe una vulnerabilidad de Docker que permite sobrescribir el binario `runc` del host y obtener acceso root al host. Cuando los actores maliciosos obtienen acceso root, pueden escalar sus privilegios y preparar ataques devastadores. Para corregir CVE-2019-5736, es necesario actualizar `container-common` en las instancias de Docker que se ejecutan en Oracle Linux 8.

2. CVE-2022-0847: DIRTY PIPE

Otra vulnerabilidad causada por una inicialización incorrecta es CVE-2022-0847. La comunidad de seguridad la apodó «dirty pipe». Esta falla en la implementación de la canalización del kernel permite que un actor malicioso modifique el contenido de archivos que no tiene permiso para cambiar y luego escale sus privilegios. Para corregir este problema, es necesario actualizar todos los hosts Linux a versiones con parches.

3. CVE-2021-21285: CONSUMO DESCONTROLADO DE RECURSOS

En versiones anteriores de Docker, existe una vulnerabilidad que hace que el daemon de Docker que se ejecuta en el sistema host se bloquee al descargar un manifiesto de imagen de Docker malformado. Para corregir CVE-2021-21285, hay que actualizar a una versión de Docker con parches, que evita que el daemon se bloquee debido al consumo descontrolado de recursos.

4. CVE-2014-9356: TRAVERSAL DE DIRECTORIOS

CVE-2015-9356 es una vulnerabilidad de traversal de directorios que afecta a Docker versión 1.3.3. Un ataque de traversal de directorios (o traversal de rutas) permite acceder a archivos que no deberían estar disponibles para terceros; estos archivos podrían contener código de la aplicación o información confidencial. Actualizar a una versión de Docker con parches puede garantizar que los atacantes remotos no puedan explotar la vulnerabilidad de traversal de rutas para evadir un mecanismo de protección de contenedores.

5. CVE-2019-14271: INICIALIZACIÓN INCORRECTA

En ciertas versiones de Docker, existe una posible vulnerabilidad de inyección de código cuando `nsswitch` (name service switch) carga dinámicamente una biblioteca durante una operación `chroot` (change root) que contiene el contenido del contenedor. En un ataque de inyección de código, una aplicación ejecuta código no autorizado de un actor malicioso. Para corregir CVE-2019-14271, es necesario actualizar Docker CLI en las instancias de Docker que se ejecutan en Oracle Linux 7.

Para obtener más información sobre otras vulnerabilidades de Docker, consulta la lista de las 10 principales vulnerabilidades de Docker publicada por el Open Web Application Security Project (OWASP).

Prácticas recomendadas para reducir las vulnerabilidades de Docker

Aunque la seguridad de contenedores es un tema amplio, hay algunas prácticas recomendadas que pueden reducir considerablemente las vulnerabilidades de Docker. Por ejemplo, usar herramientas automatizadas para proteger la imagen del contenedor, todo lo que contiene y el entorno de ejecución donde se implementa es una estrategia eficaz para mejorar la seguridad de los contenedores. Obtén más información sobre la seguridad de Docker aquí.

El análisis de contenedores es un método automatizado para detectar vulnerabilidades en distintos componentes de aplicaciones o cargas de trabajo en contenedores. Estos componentes incluyen el software dentro del contenedor, la manera en que interactúa con el sistema host y otros contenedores, las configuraciones de red y almacenamiento, entre otros.

La mayoría de las herramientas de análisis de contenedores usan una base de datos de vulnerabilidades como fuente confiable de información sobre vulnerabilidades de seguridad divulgadas públicamente. Por ejemplo, la base de datos de vulnerabilidades de Snyk enriquece la lista CVE y otras fuentes públicas de vulnerabilidades con información práctica. Al incluir información adicional para cada CVE de Docker, la vulnDB de Snyk permite a los desarrolladores corregir los problemas de seguridad de Docker con mayor facilidad.

Además del análisis de contenedores, la supervisión de contenedores consiste en hacer un seguimiento de las métricas sobre el estado de las aplicaciones y cargas de trabajo en contenedores, así como de la posible exposición a vulnerabilidades recién descubiertas que puedan estar presentes en las cargas de trabajo en ejecución. Esto garantiza que todo funcione correctamente y hasta podría ayudar a revelar posibles vulnerabilidades, como el consumo descontrolado de recursos. Las herramientas de análisis y supervisión de contenedores se complementan para ofrecer protección durante la etapa de compilación y después de ella.

Consulta nuestra guía práctica para ver una lista detallada de prácticas recomendadas de seguridad para Docker.

Análisis de seguridad de Docker con Snyk

Snyk ofrece análisis integral de vulnerabilidades para todos los componentes de las aplicaciones modernas: desde el código fuente y las dependencias de código abierto hasta los contenedores y las configuraciones de infraestructura como código. Esto significa que Snyk puede proteger una imagen de contenedor de Docker, el código y las dependencias que contiene, y las configuraciones que se usan para implementarla.

A medida que crece la adopción de Docker, también se amplía la alianza entre Snyk y Docker, como lo demuestran las capacidades de análisis de vulnerabilidades de Docker de Snyk. De hecho, el comando `docker scan` de Docker Desktop CLI funciona con la plataforma Snyk. Con Snyk y Docker, los equipos de desarrollo pueden compilar e implementar contenedores de forma rápida y segura.

También puedes obtener más información sobre la seguridad de contenedores y Docker en nuestros 3 pasos para proteger las imágenes de contenedores, creados junto con Docker.

Preguntas frecuentes sobre las vulnerabilidades de Docker

¿Docker es una plataforma segura?

La plataforma Docker en sí no es intrínsecamente segura ni insegura. Aunque los contenedores pueden estar aislados de otros procesos en un host, sigue siendo fundamental implementar medidas de seguridad adicionales para prevenir escapes de contenedores y otros tipos de vulnerabilidades. Una estrategia eficaz de seguridad de contenedores para crearlos e implementarlos es la mejor manera de reducir el riesgo de vulnerabilidades y, por consiguiente, de ataques. Como ocurre con cualquier otra plataforma tecnológica, seguir las prácticas recomendadas de seguridad es clave para mitigar posibles amenazas.

¿Las imágenes de Docker están cifradas?

Las imágenes de Docker no están cifradas de forma predeterminada, pero es posible usar firmas digitales para garantizar la integridad de una imagen. Los publicadores pueden firmar sus imágenes con la herramienta Docker Notary al subirlas a un registro. Al verificar la firma con Docker Content Trust, los desarrolladores pueden confiar en que las imágenes que descargan o implementan desde un registro de imágenes son las originales y no han sido modificadas por un actor malicioso.

¿Qué es un escape de contenedor?

Una escape del contenedor es una situación en la que un actor malicioso logra salir del aislamiento de un contenedor y acceder a los recursos del host. Una vez que obtiene acceso root al host, puede elevar sus privilegios y preparar otros ataques. Una herramienta de análisis de seguridad de Docker puede detectar vulnerabilidades que permiten escapar del contenedor (y otros tipos de vulnerabilidades) para que los desarrolladores puedan corregirlas antes de que alguien las explote.

Leer más

feature customer snowflake
Article

Seguridad desde el inicio: presentamos la integración de Snyk Studio con Snowflake Cortex Code

Snyk Studio se integra con Snowflake Cortex Code para analizar código generado por IA, dependencias y contenedores en busca de vulnerabilidades durante el desarrollo.

blog feature pypi spoof
Article

Toda la Snyk AI Security Platform, gratis para quienes mantienen proyectos de código abierto

Quienes mantienen proyectos de código abierto reciben reportes de vulnerabilidades reales sin parar y necesitan ayuda para priorizarlas, corregirlas y publicar soluciones más rápido. El Secure Developer Program de Snyk ofrece a los proyectos que cumplen los requisitos acceso gratis a Snyk AI Security Platform.

feature insights announcement
Blog

Compromiso de la cadena de suministro de node-gyp: un gusano de npm que se propaga solo y se oculta en binding.gyp

Un nuevo gusano de npm abusa de binding.gyp para activar node-gyp durante la instalación y permitir que paquetes maliciosos ejecuten código sin scripts del ciclo de vida. Roba credenciales, persiste en GitHub y se propaga entre mantenedores.