Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en la funcionalidad USBX DFU UPLOAD en Azure RTOS USBX (CVE-2022-29246)

Gravedad CVSS v3.1:
CRÍTICA
Tipo:
CWE-120 Copia de búfer sin comprobación del tamaño de entrada (Desbordamiento de búfer clásico)
Fecha de publicación:
24/05/2022
Última modificación:
27/10/2025

Descripción

Azure RTOS USBX es una pila embebida de host USB, dispositivo y on-the-go (OTG). En versiones anteriores a 6.1.11, la funcionalidad USBX DFU UPLOAD puede ser usada para introducir un desbordamiento de búfer que resulta en la sobreescritura del contenido de la memoria. En determinados casos, esto puede permitir a un atacante omitir las funciones de seguridad o ejecutar código arbitrario. La implementación de la función "ux_device_class_dfu_control_request" no asegura que no sea producida un desbordamiento del búfer durante el manejo del comando DFU UPLOAD. Cuando un atacante emite la petición de transferencia de control "UX_SLAVE_CLASS_DFU_COMMAND_UPLOAD" con "wLenght" mayor que el tamaño del buffer ("UX_SLAVE_REQUEST_CONTROL_MAX_LENGTH", 256 bytes), dependiendo de la implementación real de "dfu -) ux_slave_class_dfu_read", puede producirse un desbordamiento del buffer. Por ejemplo, "ux_slave_class_dfu_read" puede leer 4096 bytes (o más hasta 65k) en un buffer de 256 bytes, resultando en un desbordamiento. Además, en caso de que un atacante tenga algún control sobre la memoria flash leída, esto puede resultar en una ejecución de código arbitrario y el compromiso de la plataforma. Ha sido incluida una corrección para este problema en versión 6.1.11 de USBX. Como mitigación, alinee la petición y el tamaño del búfer para asegurarse de que sean respetados los límites del búfer

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:eclipse:threadx_usbx:*:*:*:*:*:*:*:* 6.1.11 (excluyendo)