Recientemente, Docker ha lanzado una serie de actualizaciones de seguridad cruciales para abordar una vulnerabilidad crítica que afecta a ciertas versiones de Docker Engine. Este problema, que permitía a los atacantes eludir los complementos de autorización (AuthZ) en situaciones específicas, planteó un riesgo significativo para la seguridad de las instancias de Docker. La vulnerabilidad fue descubierta y corregida inicialmente en la versión 18.09.1 de Docker Engine, lanzada en enero de 2019. Sin embargo, por razones aún no claras, esta corrección no se implementó en versiones posteriores, lo que permitió que la falla resurgiera.
Esta peligrosa regresión no fue identificada hasta abril de 2024, lo que significa que los sistemas afectados estuvieron expuestos durante casi cinco años a potenciales ataques de elusión de autenticación. A pesar de la gravedad de la vulnerabilidad y del largo período en que estuvo presente, no se ha confirmado si fue explotada para obtener acceso no autorizado a instancias de Docker. La comunidad de Docker ha respondido rápidamente, lanzando parches para todas las versiones compatibles de Docker Engine, asegurando que los usuarios puedan proteger sus sistemas contra posibles ataques.
Este incidente resalta la importancia de una gestión efectiva y continua de las actualizaciones de seguridad en el software de infraestructura crítica como Docker. Las organizaciones y desarrolladores deben mantenerse vigilantes, asegurándose de aplicar parches y actualizaciones de seguridad de manera oportuna para proteger sus entornos de producción y desarrollo.
Conoce más sobre: Acronis Advanced Management: Administración en Protección de Endpoints
Vulnerabilidad Crítica de Docker: CVE-2024-41110 y su Impacto
La vulnerabilidad, identificada como CVE-2024-41110, es un problema crítico con un puntaje CVSS de 10.0. Esta falla permite a un atacante enviar una solicitud de API diseñada de manera especial con una longitud de contenido de 0, lo que engaña Docker para que reenvíe la solicitud al complemento AuthZ.
Normalmente, las solicitudes de API contienen un cuerpo con los datos necesarios para la operación solicitada, y el complemento de autorización utiliza estos datos para tomar decisiones de control de acceso. Sin embargo, cuando el encabezado Content-Length está configurado en 0, la solicitud se pasa al complemento AuthZ sin incluir el cuerpo de la solicitud. Esto impide que el complemento realice la validación adecuada, creando un riesgo de aprobación de solicitudes para acciones no autorizadas, como la escalada de privilegios.
CVE-2024-41110 afecta a versiones de Docker Engine hasta la v19.03.15, v20.10.27, v23.0.14, v24.0.9, v25.0.5, v26.0.2, v26.1.4, v27.0.3 y v27.1.0, especialmente para aquellos usuarios que utilizan complementos de autorización para el control de acceso.
Los usuarios que no dependen de complementos de autorización, así como los usuarios de Mirantis Container Runtime y productos comerciales de Docker, no están afectados por esta vulnerabilidad, independientemente de la versión que utilicen.
Se recomienda a los usuarios afectados actualizar a las versiones parcheadas más recientes, específicamente v23.0.14 y v27.1.0, lo antes posible. Aunque la versión más reciente de Docker Desktop, 4.32.0, incluye un Docker Engine vulnerable, el impacto es limitado, ya que la explotación requiere acceso a la API de Docker y cualquier acción de escalada de privilegios estaría confinada a la VM.
La próxima versión de Docker Desktop, v4.33.0, incluirá una corrección para este problema, aunque aún no ha sido lanzada. Para aquellos usuarios que no pueden actualizar a una versión segura de inmediato, se recomienda deshabilitar los complementos de AuthZ y restringir el acceso a la API de Docker a usuarios de confianza únicamente.
Te podrá interesar leer: Pentesting vs Análisis de Vulnerabilidades
Conclusión
La identificación y corrección de la vulnerabilidad CVE-2024-41110 subraya la importancia de una vigilancia continua en la gestión de seguridad de software. Este incidente es un recordatorio de que las vulnerabilidades pueden resurgir y permanecer sin resolver, afectando la seguridad de los sistemas a lo largo del tiempo. Los administradores de sistemas y desarrolladores deben estar atentos a las actualizaciones de seguridad y aplicar parches de inmediato para proteger sus entornos de producción y desarrollo.