CVE-2026-10679
Təsvir
DesignWare SPI drayveri (drivers/spi/spi_dw.c), config->frequency dəyərini yoxlamadan SPI BAUDR saat bölücüsünü info->clock_frequency / config->frequency kimi hesablayırdı. spi_transceive bir Zephyr __syscall-dır və onun verify handler-i (drivers/spi/spi_handlers.c), istifadəçi sahəsindən (userspace) təmin edilən spi_config strukturunu tezlik (frequency) sahəsini yoxlamadan kopyalayır. Beləliklə, DesignWare SPI cihazının kernel obyektinə giriş hüququ verilmiş istifadəçi sahəsi axını (thread), frequency = 0 ötürərək spi_dw_configure() funksiyasında imzalanmamış tam ədəd üçün sıfıra bölmə (divide-by-zero) xətasını tetikləyə bilər. Cortex-M Mainline-da (z_arm_fault_init()-də SCB->CCR.DIV_0_TRP təyin edilib) və ARC-da (xüsusi __ev_div_zero vektoru ilə) bu, CPU istisnasını (exception) yaradır ki, bu da kernel xətasına və lokal xidmətdən imtinaya (DoS) səbəb olur. Düzəliş, sıfır tezliyini və clock_frequency / 2-dən yuxarı olan tezlikləri (DesignWare SSI məlumat kitabçasına görə minimum SCKDIV 2-dir) -EINVAL ilə rədd edir. Bu qüsur v4.4.0 daxil olmaqla bütün Zephyr versiyalarına təsir edir; istismar üçün CONFIG_USERSPACE=y olması və artıq SPI drayverinə icazəsi olan imtiyazsız axın tələb olunur. Yaddaşın korlanması və ya məlumat sızması təsiri yoxdur.
Necə düzəltmək olar
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| zephyrproject zephyr | 1.8.0 ≤ v ≤ 4.4.1 | — |
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.