CVE-2022-39293
Açıklama
Azure RTOS USBX, Azure RTOS ThreadX ile tamamen entegre, yüksek performanslı bir USB host, device ve on-the-go (OTG) gömülü yığınıdır. Durum şudur: [_ux_host_class_pima_read](https://github.com/azure-rtos/usbx/blob/master/common/usbx_host_classes/src/ux_host_class_pima_read.c) içinde, cihaz yanıtından gelen ve ilk pakette döndürülen veri uzunluğu, [L165 kodu](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L165) tarafından header_length olarak okunur. Ardından [L178 kodu](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L178) içinde, "(header_length - UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE) > data_length" ifadesini kontrol eden bir "if" dalı vardır; burada header_length, UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE değerinden küçükse hesaplama taşabilir ve ardından [L182 kodu](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L182) içindeki data_length hesaplaması da taşar; bu şekilde daha sonra [L192'den başlayan while döngüsü](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L192) data_pointer'ı beklenmeyen bir adrese taşıyabilir ve yazma arabelleği taşmasına neden olabilir. Düzeltme, USBX sürüm [6.1.12](https://github.com/azure-rtos/usbx/releases/tag/v6.1.12_rel) içine dahil edilmiştir. Geçici çözüm olarak aşağıdakiler kullanılabilir: `header_length` kontrolü ekleyin: 1. `UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE` değerinden büyük olmalıdır. 1. Mevcut döndürülen veri uzunluğuna (`transfer_request -> ux_transfer_request_actual_length`) eşit veya bu değerden büyük olmalıdır.
Nasıl düzeltilir
- eclipse threadx_usbx6.1.12 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| eclipse threadx_usbx | v < 6.1.12 | 6.1.12 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.