Se han identificado 9 vulnerabilidades con el nombre en código colectivo PixieFAIL en las implementaciones de firmware UEFI basadas en la plataforma abierta TianoCore EDK2, comúnmente utilizadas en sistemas de servidores. Las vulnerabilidades se encuentran en la pila de red del firmware, utilizada para la carga de red (PXE). Las vulnerabilidades más peligrosas permiten que un atacante no autenticado ejecute código remotamente en el nivel del firmware en sistemas que permiten arranque PXE utilizando la red IPv6.
Los problemas menos graves conducen a denegación de servicio (bloqueo del arranque), filtración de información, envenenamiento de caché DNS y secuestro de sesiones TCP. La mayoría de las vulnerabilidades pueden ser explotadas desde la red local, pero algunas permiten ataques desde una red externa. Un escenario de ataque típico implica la monitorización del tráfico en la red local y el envío de paquetes especialmente diseñados al detectar actividad relacionada con la carga del sistema a través de PXE. No se requiere acceso a servidor la carga o al servidor DHCP. Se han publicado prototipos de exploits para demostrar la técnica del ataque.
Los firmwares UEFI basados en la plataforma TianoCore EDK2 se utilizan en muchas grandes empresas, proveedores de nube, centros de datos y clústeres de computación. En particular, el módulo vulnerable NetworkPkg, que implementa la carga PXE, es utilizado en los firmwares desarrollados por empresas como ARM, Insyde Software (Insyde H20 UEFI BIOS), American Megatrends (AMI Aptio OpenEdition), Phoenix Technologies (SecureCore), Intel, Dell y Microsoft (Project Mu). Se suponía que las vulnerabilidades también afectaban a la plataforma ChromeOS, que tiene un paquete EDK2 en su repositorio, pero Google declaró que dicho paquete no se utiliza en los firmwares para dispositivos Chromebook y que la plataforma ChromeOS no está afectada por este problema.
Vulnerabilidades detectadas:
- CVE-2023-45230 — desbordamiento de búfer en el código del cliente DHCPv6, explotado mediante el envío de un identificador demasiado largo servidores (opción Server ID).
- CVE-2023-45234 — desbordamiento de búfer al procesar la opción con parámetros del servidor DNS, enviados en el mensaje anunciando la presencia de un servidor DHCPv6.
- CVE-2023-45235 — desbordamiento de búfer al procesar la opción con el identificador del servidor (Server ID) en los mensajes de anuncios de proxy para DHCPv6.
- CVE-2023-45229 — desbordamiento entero a través del límite inferior (underflow), manifestándose al procesar las opciones IA_NA/IA_TA en los mensajes DHCPv6 anunciando el servidor DHCP.
- CVE-2023-45231 — fuga de datos fuera del área de búfer al procesar mensajes ND Redirect (Neighbor Discovery) con valores truncados de opciones.
- CVE-2023-45232 — bucle infinito al analizar opciones desconocidas en el encabezado de opciones de destino (Destination Options).
- CVE-2023-45233 — bucle infinito al analizar la opción PadN en el encabezado del paquete.
- CVE-2023-45236 — uso de números de secuencia TCP predecibles que permiten la inserción en la conexión TCP.
- CVE-2023-45237 — uso de un generador de números pseudoaleatorios poco confiable que produce valores predecibles.
La información sobre las vulnerabilidades fue enviada al CERT/CC el 3 de agosto de 2023, y la fecha de divulgación estaba programada para el 2 de noviembre. Sin embargo, debido a la necesidad de un lanzamiento coordinado de parches que abarca a varios proveedores, la fecha de publicación se aplazó inicialmente al 1 de diciembre y luego se trasladó al 12 de diciembre y al 19 de diciembre de 2023, pero finalmente se divulgó el 16 de enero de 2024. Microsoft solicitó retrasar la divulgación de la información hasta mayo.
Fuente: opennet.ru
