CVE-2021-47436
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: usb: musb: dsps: Probe xətasının emal yolunun düzəldilməsi 7c75bde329d7 nömrəli commit ("usb: musb: musb_dsps: request_irq() after initializing musb"), xəta yolunu düzgün yeniləmədən dsps_setup_optional_vbus_irq() və dsps_create_musb_pdev() çağırışlarının ardıcıllığını dəyişmişdir. dsps_create_musb_pdev() yeni bir platform cihazını ayırır və qeydiyyata alır ki, bu da platform_device_unregister() ilə qeydiyyatdan çıxarılmalı və azad edilməlidir; lakin dsps_setup_optional_vbus_irq() xətası baş verdikdə bu proses yerinə yetirilmir. Master budaqda heç bir problem yaranmasa da, yuxarıda qeyd olunan yamanın tətbiq edildiyi v5.10.70 stabil nüvəsində NULL göstəricisinin istifadəsi (NULL pointer dereference) səbəbindən nüvənin çökməsi müşahidə edilmişdir. Nüvənin bu versiyasında dsps_setup_optional_vbus_irq() ilk dəfə çağırılanda -EPROBE_DEFER qaytarılır ki, bu da platform cihazını qeydiyyatdan çıxarmadan probe prosesinin xəta ilə sonlanmasına səbəb olur. Təəssüf ki, Beagle Bone Black Wireless cihazında sistemdə hələ də mövcud olan platform cihazından USB Ethernet gadget drayveri istifadə edilir və bu, yüklənmə mərhələsində çökməyə səbəb olur. Mənim musb sahəsindəki məhdud biliyim, robot xəbərdarlığını susdurmaq üçün göndərilən və mənim anladığım qədər mənasız olan bu commit-i geri almağıma mane olur. Bu yamanın məqsədi platform cihazı qeydiyyata alınmamışdan əvvəl IRQ-nun işə düşməsinin qarşısını almaq idi. Hesab edirəm ki, kənar tətikləmələrin aktivləşdirilməsi platform musb cihazının ->enable() callback funksiyası tərəfindən həyata keçirildiyi üçün və nüvənin və ya hər hansı digər istifadəçinin bu callback-dən istifadə etməsi üçün platform cihazı artıq qeydiyyata alınmış olmalı olduğu üçün belə bir hal heç vaxt baş verməz. Buna görə də, mən xəta yolunu düzəltməyə qərar verdim ki, bu həm köhnə versiyalardakı problemləri həll etsin, həm də gələcəkdə mainline nüvələrində yarana biləcək xətaların qarşısını alsın.
Necə düzəltmək olar
- linux linux_kernel4.14.252, 4.19.213, 5.4.155, 5.10.75, 5.14, 5.14.14 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 | 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 |
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.