CVE-2021-47282
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: spi: bcm2835: 4-dən çox slave olduqda sərhədləri aşan girişin düzəldilməsi 571e31fa60b3 nömrəli commit ("spi: bcm2835: Cache CS register value for ->prepare_message()") kompilyasiya zamanı slave sayını 3 ilə məhdudlaşdırıb. Bu məhdudiyyət drayverin şəxsi məlumatlarında hər bir slave üçün registr dəyərini saxlayan statik ölçülü prepare_cs[] massivi səbəbindən zəruri idi. Sözügedən commit kontrollerin num_chipselect parametrini 3 təyin etməklə bu məhdudiyyəti işləmə zamanı tətbiq etməyə çalışmışdı: daha yüksək chipselect-ə malik olan slavelər spi_add_device() tərəfindən rədd edilir. Lakin commit num_chipselect parametrinin yalnız *yerli (native)* chipselect-lərin sayını məhdudlaşdırdığını nəzərə almamışdı. Əgər cihaz ağacında (device tree) 3-dən çox slave üçün GPIO chipselect-lər təyin edilibsə, num_chipselect parametri of_spi_get_gpio_numbers() tərəfindən səssiz şəkildə artırılır və bunun nəticəsində statik ölçülü prepare_cs[] massivinə sərhədləri aşan girişlər baş verir. Stabil versiyalara tətbiq edilə bilən müvəqqəti həll kimi, icazə verilən slavelərin sayı 24-ə qaldırılmış (bu, "hər kəs üçün kifayət etməli idi"), məhdudiyyət slave ->setup hissəsində tətbiq edilmiş və num_chipselect yenidən 3-ə (kontroller tərəfindən dəstəklənən yerli chipselect-lərin sayı) qaytarılmışdır. Gələcək for-next commit istənilən sayda slave-ə icazə verəcəkdir.
Necə düzəltmək olar
- linux linux_kernel5.4.126, 5.10.44, 5.12.11 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.4 ≤ v < 5.4.126, 5.5 ≤ v < 5.10.44, 5.11 ≤ v < 5.12.11, 5.13 | 5.4.126, 5.10.44, 5.12.11 |
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.