Vulnerabilidad crítica en VMware Cloud Director

Parches disponibles para prevenir ataques
21 de abril de 2022 por
Vulnerabilidad crítica en VMware Cloud Director
Matías Fernández Noir

                                                  Según un comunicado emitido por VMware el 14 de abril de 2022 se detectó una vulnerabilidad identificada como CVE-2022-22966

                                                  VMware clasificó a esta incidencia como severidad crítica y procedió a generar actualizaciones y workarounds para remediar la vulnerabilidad en los productos afectados:

                                                  VMware Cloud Director


                                                  ¿Cómo me afecta?

                                                  Existe una vulnerabilidad en la ejecución de un código remoto que puede ser afectada por un actor malicioso, que posea autenticidad y privilegios elevados, con acceso a la red del proveedor o tenant de VMware Coud Director para obtener acceso al servidor.


                                                  ¿A quiénes afecta?

                                                  Los productos afectados (con sus respectivas versiones) son los siguientes:

                                                  VMware Cloud Director

                                                  10.3.x

                                                  10.2.x

                                                  10.1.x


                                                  ¿Qué puedo hacer para protegerme?

                                                  Existen actualizaciones para los productos mencionados, las cuales solucionan la vulnerabilidad. De no poder realizar la actualización existe un workaround, detallado más adelante, para mitigar dicha vulnerabilidad.



                                                  ProductoVersiónSeveridadParcheWorkaround
                                                  VMware Cloud Director
                                                  10.3.x
                                                  Crítica
                                                  10.3.3
                                                  KB88176
                                                  VMware Cloud Director
                                                  10.2.x
                                                  Crítica
                                                  10.2.2.3
                                                  KB88176
                                                  VMware Cloud Director
                                                  10.1.x
                                                  Crítica
                                                  10.1.4.1KB88176

                                                  Procedimiento de resolución
                                                  Pasos previos
                                                  • Descargar el script adjunto en la siguiente

                                                  KB 
                                                   
                                                  Notas
                                                  • El script descargado reinicia automáticamente el servicio de Cloud Director al ejecutarse.

                                                  • En el caso de que dicho servicio no se ejecute, se deberá reiniciar manualmente ejecutando el comando service vmware-vcd restart

                                                  • El script contiene una actualización de JRE para los casos donde se esté utilizando una versión desactualizada de este.

                                                  • Luego de aplicado el workaround, cualquier actualización subsiguiente de las celdas a un build que no cuente con la solución a la vulnerabilidad, revertirá dicho workaround.

                                                  • Asimismo, desplegar celdas desde un build que no cuente con la solución a la vulnerabilidad, también resultará en la falla del workaround.

                                                  • La aplicación del workaround no tendrá impacto alguno en la funcionalidad de VMware Cloud Director.


                                                  En caso que no sea posible aplicar una actualización del producto, se deberá aplicar el siguiente workaround para mitigar la vulnerabilidad:
                                                   

                                                  1. Conectarse mediante SSH a cualquier celda perteneciente al servidor del grupo. ⦁ Descargar el script WA_CVE-2022-22966.sh al directorio /tmp ⦁ Modificar los permisos del archivo para que sea ejecutable

                                                  	 chown root:vcloud /tmp/WA_CVE-2022-22966.sh
                                                  chmod 740 /tmp/WA_CVE-2022-22966.sh

                                                  2. Posicionarse en el directorio /tmp

                                                  	cd /tmp

                                                  3. Ejecutar el script

                                                      ./WA_CVE-2022-22966.sh

                                                  4. Asegurarse de que los servicios en la celda hayan reiniciado antes de proceder con la ejecución del script en las celdas restantes.

                                                  	tail -f /opt/vmware/vcloud-director/logs/cell.log

                                                  Un mensaje similar a la captura deberá aparecer una vez que la celda haya finalizado su inicialización.

                                                  5. Ingresar a las demás celdas mediante SSH, de a una a la vez, y repetir los pasos 3-5 hasta que el workaround haya sido aplicado en todas las celdas en el servidor del grupo. 


                                                  Verificación del workaround

                                                  Para corroborar de que el workaround para el CVE-2022-22966 fue aplicado correctamente en VMware Cloud Director, se debe verificar la configuración de la celda de Cloud Director. Las configuraciones son config y runtime settings.

                                                  • Para verificar Config, se deberá ejecutar el comando 

                                                  grep trustSerialData /opt/vmware/vcloud-director/bin/vmware-vcd-cell-common


                                                  • Se pueden verificar los runtime settings desde cualquier sistema que permita conectarse al puerto JMX (8999) de la celda usando jConsole o jmxterm.

                                                  Utilizando jConsole, se deberá abrir el cliente del mismo y conectarlo a la celda y seleccionar el apartado MBeans en la barra superior del navegador.


                                                  1. Seguir el siguiente diagrama de árbol: 

                                                  Java.lang
                                                       Runtime
                                                            Attributes

                                                                 SystemProperties

                                                   2. Hacer doble click en 

                                                  	javax.management.openmbean.TabularDataSupport

                                                  3. Desplazarse hacia abajo hasta encontrar 

                                                  com.sun.jndi.ldap.object.trustSerialData

                                                  4. Dicha clave debe estar presente, y su valor debe ser false


                                                  Si se desea realizar la verificación usando jmxterm, deberá ser descargado desde aquí

                                                  1. En la línea de comando de jmxterm, se deberá ejecutar el siguiente comando, completando los campos correspondientes:

                                                  	echo "get --domain java.lang -b type=Runtime SystemProperties" | java -jar <path a jmxterm-1.0.2-uber.jar> -n -l <FQDN de la celda>:8999 -u <administrador> -p '<contraseña del administrador>' | /bin/grep -A2 com.sun.jndi.ldap.object.trustSerialData


                                                  2. Al igual que el procedimiento utilizando jConsole, se obtendrá un par clave-valor donde dicho valor debe ser false.



                                                  3. Por último, se deberá ejecutar el script descargado nuevamente y corroborar de que la celda aparezca “Protected”.


                                                  Método de rollback

                                                  Como fue mencionado anteriormente, habrán instancias donde la versión de JRE deba ser actualizada como parte de la aplicación del workaround

                                                  De presentarse algún error al realizar la actualización de JRE, se deberán seguir los siguientes pasos:


                                                  1. Posicionarse en el directorio Cloud Director

                                                  	cd /opt/vmware/vcloud-director/

                                                  2. Eliminar el directorio JRE existente y sus archivos

                                                  	rm -rf jre

                                                  3. Extraer el directorio JRE, y sus archivos, existente previo a la aplicación del workaround.

                                                  	tar xvfz /tmp/jre_backup.tar.gz

                                                  4. Iniciar el servicio de Cloud Director
                                                  	service vmware-vcd restart

                                                  5. Asegurarse de que los servicios en la celda hayan sido reiniciados antes de proceder con la ejecución del script en las celdas restantes.

                                                  	tail -f  /opt/vmware/vcloud-director/logs/cell.log