CVE:CVE-2022-39293
CNNVD:CNNVD-202210-839
Azure RTOS USBX是Azure RTOS开源的一个 USB 主机、设备和移动 (OTG) 嵌入式堆栈。与 Azure RTOS ThreadX 完全集成，可用于所有支持 Azure RTOS ThreadX 的处理器。
Azure RTOS USBX 6.1.12之前版本存在数字错误漏洞，该漏洞源于在_ux_host_class_pima_read中，有来自设备响应的数据长度，在第一个数据包中返回，并由L165 代码读取，作为 header_length，然后在L178代码中，有一个“if”分支，检查“(header_length - UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE) > data_length”的表达式，如果header_length小于UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE，计算可能溢出，然后L182代码计算data_length也溢出，这样，从 L192 开始的后面的 while 循环可以将 data_pointer 移动到意外地址并导致写缓冲区溢出。
solution:Upgrade microsoft azure_rtos_usbx to a higher version than 6.1.12,and avoid the version (,6.1.12)