Vulnerabilidades que permiten reemplazar imágenes y ejecutar código en los servidores ASU del proyecto OpenWrt

En el proyecto en desarrollo de OpenWrt, se han identificado vulnerabilidades críticas (CVE-2024-54143) en la herramienta ASU (Attended SysUpgrade), que permiten comprometer los artefactos de construcción distribuidos a través del servicio sysupgrade.openwrt.org o servidores ASU de terceros, logrando la instalación de imágenes de firmware modificadas por un atacante en los sistemas de los usuarios que utilizan el modo de 'actualización asistida' a través de la interfaz web selector.openwrt.org o la herramienta de línea de comandos attended.sysupgrade.

Para llevar a cabo el ataque con éxito, el atacante solo necesita enviar una solicitud de generación de una construcción al servidor ASU (cualquier usuario puede enviar dichas solicitudes sin pasar por autenticación). Mediante manipulaciones con una lista de paquetes especialmente diseñada, el atacante puede organizar el envío de imágenes maliciosas previamente generadas en respuesta a las solicitudes de construcción legítimas de otros usuarios.

El servicio ASU se utiliza en OpenWrt para generar e instalar actualizaciones de firmware sin perder las configuraciones existentes y los paquetes instalados por el usuario. A través de la interfaz web o la herramienta de línea de comandos, el usuario envía una solicitud para la generación de una imagen de firmware actualizada, especificando los paquetes instalados en su sistema. Después de un tiempo, el servidor ASU genera la imagen correspondiente al contenido solicitado, tras lo cual el usuario la descarga y la flashea en su dispositivo. Se ofrece además una opción que permite conservar las configuraciones existentes en el firmware actualizado.

El ASU Server es responsable del procesamiento de solicitudes de los usuarios, que inicia la construcción automática de imágenes de firmware utilizando la herramienta ImageBuilder, y también mantiene un caché de construcciones preparadas anteriormente. En caso de que el usuario solicite una imagen que ya ha sido construida anteriormente y se mantiene actual, el sistema entrega de inmediato la imagen disponible del caché sin iniciar el proceso de construcción. servidor y mantiene su relevancia, el sistema proporciona de inmediato la imagen correspondiente del caché sin iniciar el proceso de construcción.

El comportamiento del ataque fue posible gracias a dos vulnerabilidades:

  • Una vulnerabilidad en el manejador de solicitudes build_reques.py del conjunto de herramientas Imagebuilder permite la inyección de comandos en el proceso de compilación mediante la transmisión de nombres de paquetes específicamente formateados por el usuario. Esta vulnerabilidad se debe a la falta de verificación adecuada de caracteres especiales en los nombres de los paquetes antes de su uso como argumentos en la utilidad make. Al explotar esta vulnerabilidad, un atacante puede crear imágenes de firmware maliciosas en el servidor, firmadas con una clave de compilación válida.
  • Una vulnerabilidad en la biblioteca util.py, causada por el hecho de que los hashes SHA-256 utilizados para verificar la existencia de imágenes de firmware ya listas en caché se truncaban a 12 caracteres, lo que disminuía significativamente el nivel de entropía y permitía, mediante la búsqueda de colisiones, generar una imagen maliciosa cuyo hash coincide con el de una imagen legítima. Combinada con la vulnerabilidad en Imagebuilder, el problema con los hashes podría ser utilizado por un atacante para "contaminar" la caché del Servidor ASU y colocar en ella imágenes maliciosas que se sirvieron en respuesta a solicitudes de usuarios comunes.

El cambio que permitió la posibilidad de un ataque se realizó el 8 de julio. El problema fue corregido el 4 de diciembre. Para asegurar el funcionamiento del servicio ASU, se utilizaron entornos separados, servidores, que no se cruzan con los sistemas de compilación principales del proyecto, aislados de OpenWrt Buildbot y sin acceso a recursos sensibles como claves SSH y certificados para la creación de firmas digitales.

Se alega que los desarrolladores de OpenWrt no encontraron rastros de compromiso en la infraestructura del proyecto, pero por precaución reinstalaron los sistemas desde cero donde se ejecutaban los componentes vulnerables. El problema no afectó a las imágenes oficiales distribuidas a través del sitio downloads.openwrt.org, y al analizar los registros de compilación no se encontraron rastros de solicitudes maliciosas. Además, dado que en los servidores ASU se realiza una limpieza automática de las compilaciones que tienen más de 7 días, no fue posible auditar compilaciones antiguas.

La probabilidad de que las vulnerabilidades identificadas se utilicen en la práctica para la difusión de imágenes maliciosas a través de la infraestructura de OpenWrt se evalúa por representantes de OpenWrt como cercana a cero; sin embargo, se recomienda a los usuarios de ASU que reemplacen las compilaciones de OpenWrt en sus dispositivos por la misma versión.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster