CVE-2021-47282
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: spi: bcm2835: 4'ten fazla slave durumunda meydana gelen sınır dışı erişim hatası düzeltildi 571e31fa60b3 numaralı commit ("spi: bcm2835: Cache CS register value for ->prepare_message()"), slave sayısını derleme zamanında 3 ile sınırlandırmıştır. Bu sınırlama, sürücü özel verilerinde yer alan ve her slave için bir kayıt değeri içeren statik boyutlu prepare_cs[] dizisi nedeniyle gerekli olmuştur. Söz konusu commit, denetleyicinin num_chipselect değerini 3 olarak ayarlayarak bu sınırlamayı çalışma zamanında uygulamaya çalışmıştır: Daha yüksek chipselect değerine sahip slave'ler spi_add_device() tarafından reddedilmektedir. Ancak commit, num_chipselect değerinin yalnızca *yerel* chipselect sayısını sınırladığını göz ardı etmiştir. Eğer cihaz ağacında (device tree) 3'ten fazla slave için GPIO chipselect belirtilmişse, num_chipselect değeri of_spi_get_gpio_numbers() tarafından sessizce artırılmakta ve sonuç olarak statik boyutlu prepare_cs[] dizisine sınır dışı erişimler gerçekleşmektedir. Stabil sürümlere geriye dönük uygulanabilen geçici bir çözüm olarak; izin verilen slave sayısı 24'e çıkarılmış (bu sayı herkes için yeterli olmalıdır), sınırlama slave ->setup aşamasında zorunlu kılınmış ve num_chipselect değeri (denetleyici tarafından desteklenen yerel chipselect sayısı olan) 3'e geri döndürülmüştür. Gelecek bir for-next commit'i rastgele sayıda slave kullanımına izin verecektir.
Nasıl düzeltilir
- linux linux_kernel5.4.126, 5.10.44, 5.12.11 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| 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 |
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.