CVE-2026-11743
Təsvir
SF32LB MPI QSPI NOR flash drayveri (drivers/flash/flash_sf32lb_mpi_qspi_nor.c) oxuma və yazma yollarında flash ofsetini və uzunluğunu (offset + size) > data->size testi ilə yoxlayırdı. Offset imzalı off_t, size isə imzalanmamış olduğu üçün mənfi ofset böyük bir imzalanmamış dəyərə çevrilir və toplama əməliyyatı yoxlamadan keçən kiçik bir nəticə ilə dövr edə bilər. Daha sonra oxuma yolu memcpy(dst, (void *)(data->base + offset), size) funksiyasını yerinə yetirir, yazma yolu isə flash-ı ofsetdə proqramlaşdırır və data->base + offset ünvanındakı keş-i etibarsızlaşdırır; hər iki halda xəritələnmiş flash pəncərəsinin kənarındakı yaddaşa giriş təmin edilir. Drayverin silmə yolu artıq mənfi ofsetləri rədd edirdi, lakin oxuma və yazma yolları bunu etmirdi. CONFIG_USERSPACE aktiv olan versiyalarda flash_read və flash_write sistem çağırışlarıdır (syscall); onların verifikatorları cihaz obyektini və çağıranın buferini yoxlayır, lakin ofset sərhədlərinin yoxlanılmasını qəsdən drayverə həvalə edirlər. Beləliklə, bu flash cihazına giriş hüququ verilmiş imtiyazsız bir axın (thread), düzəldilmiş mənfi ofset və öz yaddaş domenində etibarlı olan bufer ilə sistem çağırışını edərək yoxlanılmayan giriş nöqtəsinə çata bilər. Ən birbaşa təsir oxuma yoluna təsadüf edir: mənfi ofset və uyğun ölçü seçməklə hücumçu memcpy mənbəyini flash bazasından aşağı sürüşdürür və CPU tərəfindən ünvanlandırıla bilən istənilən yaddaşı öz buferinə kopyalayaraq oxumağa səlahiyyəti olmayan yaddaşı ifşa edir. Yazma yolu əlavə olaraq, diapazondan kənar ünvanda flash-ın proqramlaşdırılmasına və hücumçu tərəfindən seçilmiş keş diapazonunun etibarsızlaşdırılmasına imkan verir ki, bu da bütövlüyə və əlçatanlığa təsir göstərir. Bu boşluğun istifadəsi üçün userspace-in aktiv olması və xam flash cihaz obyektinin etibarsız bir axına təqdim edilməsi tələb olunur. Düzəliş mövcud yoxlamanı qspi_nor_range_is_valid() funksiyası ilə əvəz edir; bu funksiya hər iki yolda mənfi ofsetləri rədd edir və sərhəd müqayisəsini daşmaya qarşı təhlükəsiz 64-bitlik aritmetika ilə yerinə yetirir. Bundan əlavə, ayrıca DMA şin donması (bus-hang) şəraitinin qarşısını almaq üçün SRAM DMA bounce buferi və mənbə/təyinat üst-üstə düşməsinin rədd edilməsi mexanizmi əlavə edilmişdir.
Necə düzəltmək olar
- zephyrproject zephyr4.4.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| zephyrproject zephyr | 4.3.0 ≤ v < 4.4.2 | 4.4.2 |
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.