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
Impacto
Puntuación base 3.x
9.80
Gravedad 3.x
CRÍTICA
Puntuación base 2.0
7.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:eclipse:threadx_usbx:*:*:*:*:*:*:*:* | 6.1.11 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/azure-rtos/usbx/blob/master/common/usbx_device_classes/src/ux_device_class_dfu_control_request.c
- https://github.com/azure-rtos/usbx/releases/tag/v6.1.11_rel
- https://github.com/azure-rtos/usbx/security/advisories/GHSA-hh5p-x584-j8hv
- https://github.com/azure-rtos/usbx/blob/master/common/usbx_device_classes/src/ux_device_class_dfu_control_request.c
- https://github.com/azure-rtos/usbx/releases/tag/v6.1.11_rel
- https://github.com/azure-rtos/usbx/security/advisories/GHSA-hh5p-x584-j8hv



