CVE-2026-46148
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: spi: microchip-core-qspi: yerleşik cs'yi manuel olarak kontrol et coreQSPI IP yalnızca tek bir chip select'i destekler ve bu, donanım tarafından otomatik olarak çalıştırılır - iletişim arabelleğine ilk yazıldığında düşük seviyeye, FRAMES kaydının TOTALBYTES alanına yazılan bayt sayısı veri yoluna gönderildiğinde ise yüksek seviyeye ayarlanır. Ek cihazlar chip select'leri için GPIO kullanmalıdır. Bana, bu QSPI denetleyicisine iki cihaz bağlıysa, linux GPIO'ya bağlı cihaza erişmeye çalışırken yerleşik chip select'in düşük seviyeye ayarlandığı bildirildi. Bu durum tespit edilemedi çünkü SPI denetleyicisine birden fazla cihaz bağlayan kartların tümü chip select için yalnızca GPIO kullanıyordu ve yerleşik chip select'e hiç güvenmiyordu. Bunun nedeni, otomatik olarak kontrol edildiğinde yerleşik chip select'in etkinken düşük, etkin değilken yüksek seviyeye ayarlanması ve böylece aktif-yüksek cihazlar veya chip select devre dışıyken iletim yapması gereken cihazlar için kullanımının dışlanmasıydı. Sürücüyü, chip select'i doğrudan kontrol edecek şekilde değiştirin; mem_ops için exec_op geri çağrısında chip select'i transferin tüm süresi boyunca etkin tutma davranışını koruyun. Normal transferler için çekirdeğin kullanacağı set_cs geri çağrısını uygulayın. Bunun bir parçası olarak, mevcut setup geri çağrısı mchp_coreqspi_setup_op() kaldırılmıştır. Birden fazla cihaz olduğunda çalışma sırasında CLKIDLE alanını değiştirmek güvenli değildir, bu nedenle bu kod tamamen kaldırılmıştır. MASTER ve ENABLE alanlarını ayarlamak probe sırasında bir kez yapılabilecek bir işlemdir, her cihaz için yeniden çalıştırılması gerekmez. Bunun yerine yeni setup geri çağrısı, yazılım kontrollü modda chip select'in sıfırlama değeri düşük olduğundan, aktif-düşük cihazlar için yerleşik chip select'i etkin olmayan durumuna ayarlar.
Nasıl düzeltilir
- linux linux_kernel6.18.30, 7.0.7 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 | 6.1 ≤ v < 6.18.30, 6.19 ≤ v < 7.0.7, 7.1 | 6.18.30, 7.0.7 |
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.