CVE-2026-45920
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: ext4: fs shutdown zamanı dirtyclusters sayğacının iki dəfə azaldılması xətası düzəldildi fstests generic/388 testi bəzən ext4_put_super() funksiyasında çirkli klasterlərin sayı ilə bağlı bir xəbərdarlıq yaradır: WARNING: CPU: 7 PID: 76064 at fs/ext4/super.c:1324 ext4_put_super+0x48c/0x590 [ext4] Xətanın izlənilməsi göstərir ki, xəbərdarlıq s_dirtyclusters_counter dəyərinin -1 olması səbəbindən baş verir. Başqa sözlə, bu, hər hansı bir sızma deyil, yanlış azalma kimi görünür. Çirkli klaster sayındakı fərqlərin daha dərindən araşdırılması və nəticələrin LLM skan edilməsi səbəbin ext4_mb_mark_diskspace_used() və onu çağıran ext4_mb_new_blocks() arasındakı xəta yolunda sayğacın iki dəfə azaldılması olduğunu müəyyən etdi. İlk öncə qeyd edək ki, generic/388 shutdown və fsstress testidir və buna görə də təsadüfi əməliyyatlar və shutdown injeksiyaları yaradır. Problemli halda, shutdown prosesi ext4_mb_mark_context() tərəfindən çağırılan ext4_handle_dirty_metadata() funksiyasından xəta geri dönüşünü tetikləyir. Bu məqamda dəyişdirilmiş dəyər sıfırdan fərqli olduğu üçün, xəta ext4_mb_mark_context()-dən yuxarı ötürüldükdən sonra ext4_mb_mark_diskspace_used() çıxış etmir. Bunun əvəzinə, həmin funksiya hər iki klaster sayğacını azaldır və xətanı ext4_mb_new_blocks()-ə qaytarır. Sonuncu isə !ar->len çıxış yoluna düşür və burada çirkli klasterlər sayğacı ikinci dəfə azaldılır ki, bu da uyğunsuzluğa səbəb olur. Bu problemin qarşısını almaq və həmin kod yolunda klaster rezervasiyasının mülkiyyətini sadələşdirmək üçün sayğacın azaldılmasını çağıran funksiyanın tək bir yerinə köçürün. Bu, !delalloc halında klaster rezervasiyasının əldə edilməsinə (ext4_claim_free_clusters() vasitəsilə), eləcə də uğursuzluq səbəbindən istifadə olunub-olunmamasından asılı olmayaraq onun azad edilməsinə görə ext4_mb_new_blocks() funksiyasının məsuliyyət daşıdığını daha aydın edir.
Necə düzəltmək olar
- linux linux_kernel5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.75, 6.18.14, 6.19.4 və ya daha yeni versiya
- git.kernel.org/stable/c/3924aea2c33df3864929c1acd178bfc29d8f005f
- git.kernel.org/stable/c/523d5a4df3c649fa305c89efb552ec62a1ce9d3d
- git.kernel.org/stable/c/55576fa14771d33994c29a9ae960e07bb3f56c20
- git.kernel.org/stable/c/61e372122b6d95aec940fdaea0a16f988f359897
- git.kernel.org/stable/c/81982a11406c5da6c6e2b188028e7056e16b7128
- git.kernel.org/stable/c/94a8cea54cd935c54fa2fba70354757c0fc245e3
- git.kernel.org/stable/c/ca408af08544d96769c93a3d81a7f63f61129e95
- git.kernel.org/stable/c/dbc4e10619ed87a50e637b96f2e574df36a7a769
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 2.6.29 ≤ 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.75, 6.13 ≤ v < 6.18.14, 6.19 ≤ v < 6.19.4 | 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.75, 6.18.14, 6.19.4 |
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.