CVE-2021-47436
Açıklama
Linux kernel'da aşağıdaki güvenlik açığı giderilmiştir: usb: musb: dsps: Probe hata yolu düzeltildi 7c75bde329d7 numaralı commit ("usb: musb: musb_dsps: request_irq() after initializing musb"), hata yolunu doğru şekilde güncellemeden dsps_setup_optional_vbus_irq() ve dsps_create_musb_pdev() çağrılarının sırasını tersine çevirmiştir. dsps_create_musb_pdev(), platform_device_unregister() ile kaydı silinmesi ve serbest bırakılması gereken yeni bir platform aygıtı tahsis eder ve kaydeder; ancak bu işlem dsps_setup_optional_vbus_irq() hatası oluştuğunda eksiktir. Master dalında herhangi bir soruna yol açmıyor gibi görünse de, yukarıda belirtilen yamanın geri port edildiği v5.10.70 kararlı çekirdek sürümünde, bir NULL pointer dereference nedeniyle çekirdek çökmesi gözlemlenmiştir. Bu çekirdek sürümünde, dsps_setup_optional_vbus_irq() ilk kez çağrıldığında -EPROBE_DEFER döndürülmekte ve bu durum, platform aygıtının kaydı silinmeden probe işleminin hata ile sonuçlanmasını tetiklemektedir. Maalesef, Beagle Bone Black Wireless üzerinde sistemde hala mevcut olan platform aygıtı, önyükleme aşamasında çökmeyi tetikleyen USB Ethernet gadget sürücüsü tarafından kullanılmaktadır. Musb dünyasına dair sınırlı bilgim, anladığım kadarıyla mantıklı olmayan bir robot uyarısını susturmak için gönderilen bu commit'i geri almamı engellemektedir. Bu yamanın amacı, platform aygıtı kaydedilmeden önce bir IRQ tetiklenmesini önlemekti. Kesmelerin etkinleştirilmesinin platform musb aygıtının ->enable() geri çağırmasıyla yapıldığı ve çekirdek veya başka bir kullanıcının bu geri çağırmayı kullanabilmesi için platform aygıtının zaten kaydedilmiş olması gerektiği gerçeğinden dolayı bunun asla gerçekleşemeyeceğini düşünüyorum. Bu nedenle, ana hatlı çekirdeklerde gelecekteki hataları önleyebilecek ve aynı zamanda eski sürümleri düzeltecek olan hata yolunu düzeltmeye karar verdim.
Nasıl düzeltilir
- linux linux_kernel4.14.252, 4.19.213, 5.4.155, 5.10.75, 5.14, 5.14.14 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 | 4.14.247 ≤ v < 4.14.252, 4.19.207 ≤ v < 4.19.213, 5.4.148 ≤ v < 5.4.155, 5.10.67 ≤ v < 5.10.75, 5.13.19 ≤ v < 5.14, 5.14.6 ≤ v < 5.14.14 | 4.14.252, 4.19.213, 5.4.155, 5.10.75, 5.14, 5.14.14 |
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.