Vulnerabilidad en Moby (CVE-2023-28842)
Fecha de publicación:
04/04/2023
Moby) es un framework de contenedores de código abierto desarrollado por Docker Inc. que se distribuye como Docker, Mirantis Container Runtime y varios otros proyectos/productos posteriores. El componente Moby daemon (`dockerd`), que se desarrolla como moby/moby, se conoce comúnmente como *Docker*. El modo Swarm, que se compila y entrega de forma predeterminada en "dockerd" y, por lo tanto, está presente en la mayoría de las principales versiones de Moby, es un orquestador de contenedores simple e integrado que se implementa mediante una combinación de SwarmKit y soportando un código de red. El controlador de red "superpuesto" es una característica central del modo Swarm, que proporciona LAN virtuales aisladas que permiten la comunicación entre contenedores y servicios en todo el clúster. Este controlador es una implementación/usuario de VXLAN, que encapsula tramas de capa de enlace (Ethernet) en datagramas UDP que etiquetan la trama con los metadatos de VXLAN, incluido un ID de red VXLAN (VNI) que identifica la red superpuesta de origen. Además, el controlador de red superpuesta admite un modo cifrado opcional, desactivado de forma predeterminada, que resulta especialmente útil cuando los paquetes VXLAN atraviesan una red que no es de confianza entre nodos. Las redes superpuestas cifradas funcionan encapsulando los datagramas VXLAN mediante el uso del protocolo IPsec Encapsulating Security Payload en modo Transporte. Al implementar la encapsulación IPSec, las redes superpuestas cifradas obtienen propiedades adicionales de autenticación de origen mediante prueba criptográfica, integridad de datos mediante suma de verificación y confidencialidad mediante cifrado. Al configurar un endpoint en una red superpuesta cifrada, Moby instala tres reglas de iptables (firewall del kernel de Linux) que aplican IPSec tanto entrante como saliente. Estas reglas se basan en la extensión iptables `u32` proporcionada por el módulo del kernel `xt_u32` para filtrar directamente el campo VNI de un paquete VXLAN, de modo que las garantías IPSec se puedan aplicar en redes superpuestas cifradas sin interferir con otras redes superpuestas u otros usuarios de VXLAN. El controlador `overlay` define de forma dinámica y perezosa la configuración del kernel para la red VXLAN en cada nodo a medida que los contenedores se conectan y desconectan. Las rutas y los parámetros de cifrado solo se definen para los nodos de destino que participan en la red. Las reglas de iptables que impiden que las redes superpuestas cifradas acepten paquetes no cifrados no se crean hasta que haya un interlocutor disponible con el que comunicarse. Las redes superpuestas cifradas aceptan silenciosamente datagramas VXLAN de texto sin cifrar etiquetados con el VNI de una red superpuesta cifrada. Como resultado, es posible inyectar tramas Ethernet arbitrarias en la red superpuesta cifrada encapsulándolas en datagramas VXLAN. Las implicaciones de esto pueden ser bastante nefastas, y se debe hacer referencia a GHSA-vwm3-crmr-xfxw para una exploración más profunda. Los parches están disponibles en las versiones 23.0.3 y 20.10.24 de Moby. Como las versiones 20.10 de Mirantis Container Runtime tienen numeración diferente, los usuarios de esa plataforma deben actualizar a la versión 20.10.16. Algunos workarounds están disponibles. En clústeres de múltiples nodos, implemente un contenedor de "pausa" global para cada red superpuesta cifrada, en cada nodo. Para un clúster de un solo nodo, no utilice redes superpuestas de ningún tipo. Las redes puente brindan la misma conectividad en un solo nodo y no tienen funciones de múltiples nodos. La función de ingreso de Swarm se implementa usando una red superpuesta, pero se puede deshabilitar publicando puertos en modo "host" en lugar del modo "ingress" (permitiendo el uso de un balanceador de carga externo) y eliminando la red de "ingress". Si las redes superpuestas cifradas son de uso exclusivo, bloquee el puerto UDP 4789 del tráfico que no haya sido validado por IPSec.
Gravedad CVSS v3.1: MEDIA
Última modificación:
15/09/2023