CVE-2026-23356
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: drbd: drbd_al_begin_io_nonblock() funksiyasındakı "LOGIC BUG" düzəldildi device->al_lock spinlock-unu saxlayarkən lc_get_cumulative() funksiyasını yerinə yetirə biləcəyimizi yoxlasaq belə, əgər digər bir kod yolu yanlış vaxtlama ilə lc_try_lock() etməyə qərar veribsə, bu hələ də uğursuz ola bilər. Bu baş verdikdə, biz "LOGIC BUG for enr=..." mesajını loqlayırdıq, lakin yenə də xəta qaytarmırdıq. Kodun geri qalan hissəsi artıq fərz edirdi ki, bu sorğunun müvafiq aktivlik loqunun (activity log) genişlənmələri üçün istinadları var. Bunun nəticəsi odur ki, aktiv resink zamanı tətbiq IO-suna qarşı resinkin qarşılıqlı istisnaolunmazlığı təmin edilmir. Və bu nöqtədə potensial çöküş, həmin genişlənmələrin davam edən IO-nun hədəfi ola biləcəyini və ehtiyat tədbiri olaraq yenidən sinxronizasiya edilməli olduğunu anlamaya bilər. Həmçinin, sorğu tamamlandıqda, o, sahib olmadığı aktivlik loqu istinadlarını buraxacaq ki, bu da lc_put() funksiyasında BUG_ON(refcnt == 0) xətasını tetikləyəcək. Düzəliş: Normal işləmə zamanı zərərsiz olan şərt üçün nüvəni çökməyə məcbur etməyin: "al_complete_io() called on inactive extent %u\n" haqqında bildiriş göndərərkən yalnız "e == NULL" halını deyil, həm də "e->refcnt == 0" halını tutun. Və nəsənin işləyib-işləməyəcəyini "təxmin" etməyə çalışmayın və sonra işləmədikdə təəccüblənməyin. Bunun işləyə biləcəyi və ya işləməyəcəyi faktı ilə davranın. Əgər işləmirsə, mümkün "qismən aktivlik loqunda" vəziyyətini (yalnız genişlənmə sərhədlərini kəsən sorğular üçün mümkündür) yadda saxlayın və drbd_al_begin_io_nonblock() funksiyasından xəta kodu qaytarın. Eyni sorğu üçün sonrakı çağırış dayandığımız yerdən davam edəcək.
Necə düzəltmək olar
- linux linux_kernel5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7 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 | 3.10.1 ≤ v < 5.10.253, 5.11 ≤ v < 5.15.203, 5.16 ≤ v < 6.1.167, 6.2 ≤ v < 6.6.130, 6.7 ≤ v < 6.12.77, 6.13 ≤ v < 6.18.17, 6.19 ≤ v < 6.19.7, 3.10, 7.0 | 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7 |
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.