CVE-2022-39293
Təsvir
Azure RTOS USBX, Azure RTOS ThreadX ilə tam inteqrasiya olunmuş yüksək performanslı USB host, cihaz və on-the-go (OTG) gömülü stekdir. Məsələ burasındadır ki, [_ux_host_class_pima_read](https://github.com/azure-rtos/usbx/blob/master/common/usbx_host_classes/src/ux_host_class_pima_read.c) funksiyasında, cihazın cavabından gələn məlumat uzunluğu ilk paketdə qaytarılır və [L165 kodu](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L165) tərəfindən header_length kimi oxunur. Daha sonra [L178 kodunda](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L178), “(header_length - UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE) > data_length” ifadəsini yoxlayan bir “if” budağı mövcuddur; burada əgər header_length dəyəri UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE-dən kiçikdirsə, hesablama daşma (overflow) verə bilər və buna görə də [L182 kodunda](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L182) data_length hesablaması da daşa bilər. Bu yolla, daha sonrakı [L192-dən başlayan while dövrü](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L192) data_pointer-i gözlənilməz ünvana köçürə və bufer yazma daşmasına səbəb ola bilər. Düzəliş USBX-in [6.1.12](https://github.com/azure-rtos/usbx/releases/tag/v6.1.12_rel) versiyasına daxil edilmişdir. Müvəqqəti həll yolu kimi aşağıdakılardan istifadə edilə bilər: `header_length` üçün yoxlama əlavə edin: 1. O, `UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE`-dən böyük olmalıdır. 2. O, hazırda qaytarılan məlumat uzunluğundan (`transfer_request -> ux_transfer_request_actual_length`) böyük və ya ona bərabər olmalıdır.
Necə düzəltmək olar
- eclipse threadx_usbx6.1.12 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| eclipse threadx_usbx | v < 6.1.12 | 6.1.12 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.