CVE-2026-23286
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılmışdır: atm: lec: lec_arp_clear_vccs funksiyasında null-ptr-deref xətasının düzəldilməsi syzkaller tərəfindən lec_arp_clear_vccs() funksiyasında null-ptr-deref xətası aşkar edilmişdir. Bu problem syzkaller reproducer vasitəsilə asanlıqla təkrar yaradıla bilər. ATM LANE (LAN Emulation) modulunda eyni atm_vcc birdən çox lec_arp_table girişi tərəfindən paylaşıla bilər (məsələn, entry->vcc və ya entry->recv_vcc vasitəsilə). Altda yerləşən VCC bağlanarkən, lec_vcc_close() bütün ARP girişləri üzrə dövr edir və uyğun gələn hər bir giriş üçün lec_arp_clear_vccs() funksiyasını çağırır. Məsələn, lec_vcc_close() priv->lec_arp_empty_ones daxilindəki hlist-lər və ya digər ARP cədvəlləri üzrə dövr edərkən: 1. Birinci iterasiyada, VCC-ni paylaşan ilk uyğun ARP girişi üçün lec_arp_clear_vccs() əlaqəli vpriv-i (hansı ki, vcc->user_back-dir) azad edir və vcc->user_back dəyişənini NULL olaraq təyin edir. 2. İkinci iterasiyada, eyni VCC-ni paylaşan növbəti uyğun ARP girişi üçün lec_arp_clear_vccs() yenidən çağırılır. O, vcc->user_back-dən (LEC_VCC_PRIV(vcc) vasitəsilə) NULL vpriv əldə edir və sonra onu `vcc->pop = vpriv->old_pop` vasitəsilə istifadə etməyə çalışır ki, bu da null-ptr-deref çöküşünə səbəb olur. Bu problem, vpriv-i istifadə etməzdən əvvəl onun NULL olub-olmadığını yoxlayan şərt əlavə edilməklə həll edilmişdir. Əgər vpriv artıq NULL-dursa, bu o deməkdir ki, VCC əvvəlki çağırış zamanı təmizlənmişdir, buna görə də biz təmizləmə prosesini təhlükəsiz şəkildə ötürə və sadəcə girişin vcc/recv_vcc göstəricilərini sıfırlaya bilərik. Bütün təmizləmə bloku (vcc_release_async() daxil olmaqla) vpriv mühafizəsinin daxilinə yerləşdirilmişdir, çünki NULL vpriv VCC-nin artıq əvvəlki iterasiya tərəfindən tamamilə azad edildiyini göstərir — sökülmə prosesinin təkrarı bayraqları artıq təyin edərdi və artıq bağlanmağa başlayan soketdə geri çağırma funksiyalarını (callbacks) tetikləyərdi. Fixes teqi ilkin commit-ə istinad edir, çünki entry->vcc yolu orijinal koddan bəri zəifliyə malik idi. entry->recv_vcc yolu daha sonra 8d9f73c0ad2f ("atm: fix a memory leak of vcc->user_back") commit-i ilə eyni strukturda əlavə edilmişdir və burada hər iki yol düzəldilmişdir.
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
- git.kernel.org/stable/c/101bacb303e89dc2e0640ae6a5e0fb97c4eb45bb
- git.kernel.org/stable/c/2d9f57ea29a1f1772373b98a509b44d49fda609e
- git.kernel.org/stable/c/30c9744a989feb22cfbb84170eb0e038a7a2c1da
- git.kernel.org/stable/c/5f1cfea7921f5c126a441d973690eeba52677b64
- git.kernel.org/stable/c/622062f24644b4536d3f437e0cf7a8c4bb421665
- git.kernel.org/stable/c/7ea92ab075d809ec8a96669a5ecf00f752057875
- git.kernel.org/stable/c/8aff65a82b6389ec674d46e5b3d3ae6f07db5e3e
- git.kernel.org/stable/c/e9665986eb127290ceb535bd5d04d7a84265d94f
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 2.6.12.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, 2.6.12, 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.