Vulnerabilidades en FreeBSD, IPnet y Nucleus NET relacionadas con errores en la implementación de la compresión DNS

Los grupos de investigación Forescout Research Labs y JSOF Research han publicado los resultados de un estudio conjunto sobre la seguridad de varias implementaciones del esquema de compresión utilizado para empaquetar nombres duplicados en mensajes DNS, mDNS, DHCP e IPv6 RA (empaquetar partes de dominio duplicadas en mensajes que incluyen varios nombres). Durante el trabajo se identificaron 9 vulnerabilidades, que se resumen bajo el nombre en clave NOMBRE: WRECK.

Se han identificado problemas en FreeBSD, así como en los subsistemas de red IPnet, Nucleus NET y NetX, que se han generalizado en los sistemas operativos en tiempo real VxWorks, Nucleus y ThreadX utilizados en dispositivos de automatización, almacenamiento, dispositivos médicos, aviónica e impresoras. y electrónica de consumo. Se estima que al menos 100 millones de dispositivos se ven afectados por las vulnerabilidades.

  • Una vulnerabilidad en FreeBSD (CVE-2020-7461) permitió organizar la ejecución de su código enviando un paquete DHCP especialmente diseñado a los atacantes ubicados en la misma red local que la víctima, cuyo procesamiento fue dirigido por un cliente DHCP vulnerable. a un desbordamiento del buffer. El problema se mitigó por el hecho de que el proceso dhclient en el que estaba presente la vulnerabilidad se ejecutaba con privilegios de reinicio en un entorno de Capsicum aislado, lo que requería identificar otra vulnerabilidad para salir.

    La esencia del error está en la verificación incorrecta de los parámetros, en el paquete devuelto por el servidor DHCP con la opción DHCP 119, que le permite transferir la lista de "búsqueda de dominio" al solucionador. El cálculo incorrecto del tamaño del búfer necesario para acomodar los nombres de dominio desempaquetados provocó que la información controlada por el atacante se escribiera más allá del búfer asignado. En FreeBSD, el problema se solucionó en septiembre del año pasado. El problema sólo puede explotarse si tiene acceso a la red local.

  • Una vulnerabilidad en la pila de redes IPnet integrada utilizada en RTOS VxWorks permite la posible ejecución de código en el lado del cliente DNS debido a un manejo inadecuado de la compresión de mensajes DNS. Al final resultó que, esta vulnerabilidad fue identificada por primera vez por Exodus en 2016, pero nunca se solucionó. Una nueva solicitud a Wind River tampoco obtuvo respuesta y los dispositivos IPnet siguen siendo vulnerables.
  • Se identificaron seis vulnerabilidades en la pila Nucleus NET TCP/IP, soportada por Siemens, de las cuales dos podrían conducir a la ejecución remota de código y cuatro podrían conducir a una denegación de servicio. El primer problema peligroso está relacionado con un error al descomprimir mensajes DNS comprimidos y el segundo está relacionado con el análisis incorrecto de las etiquetas de los nombres de dominio. Ambos problemas provocan un desbordamiento del búfer al procesar respuestas DNS con formato especial.

    Para explotar las vulnerabilidades, un atacante simplemente necesita enviar una respuesta especialmente diseñada a cualquier solicitud legítima enviada desde un dispositivo vulnerable, por ejemplo, realizando un ataque MTIM e interfiriendo con el tráfico entre el servidor DNS y la víctima. Si el atacante tiene acceso a la red local, puede iniciar un servidor DNS que intenta atacar dispositivos problemáticos enviando solicitudes mDNS en modo de transmisión.

  • La vulnerabilidad en la pila de red NetX (Azure RTOS NetX), desarrollada para ThreadX RTOS y abierta en 2019 tras ser adquirida por Microsoft, se limitaba a la denegación de servicio. El problema se debe a un error al analizar mensajes DNS comprimidos en la implementación del solucionador.

De las pilas de red probadas en las que no se encontraron vulnerabilidades relacionadas con la compresión de datos repetidos en mensajes DNS, se nombraron los siguientes proyectos: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread y FNET. Además, los dos primeros (Nut/Net y lwIP) no admiten en absoluto la compresión de mensajes DNS, mientras que los demás implementan esta operación sin errores. Además, cabe señalar que anteriormente los mismos investigadores ya habían identificado vulnerabilidades similares en las pilas Treck, uIP y PicoTCP.

Fuente: opennet.ru

Añadir un comentario