CVE-2026-23286
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: atm: lec: lec_arp_clear_vccs fonksiyonundaki null-ptr-deref hatası düzeltildi syzkaller, lec_arp_clear_vccs() fonksiyonunda bir null-ptr-deref raporlamıştır. Bu sorun, syzkaller reprodüsörü kullanılarak kolayca yeniden üretilebilir. ATM LANE (LAN Emulation) modülünde, aynı atm_vcc birden fazla lec_arp_table girişi tarafından paylaşılabilir (örneğin, entry->vcc veya entry->recv_vcc aracılığıyla). Alttaki VCC kapatıldığında, lec_vcc_close() tüm ARP girişlerini tarar ve eşleşen her giriş için lec_arp_clear_vccs() fonksiyonunu çağırır. Örneğin, lec_vcc_close() priv->lec_arp_empty_ones içindeki veya diğer ARP tablolarındaki hlist yapılarını tararken: 1. İlk yinelemede, VCC'yi paylaşan ilk eşleşen ARP girişi için lec_arp_clear_vccs(), ilişkili vpriv'i (vcc->user_back) serbest bırakır ve vcc->user_back değerini NULL olarak ayarlar. 2. İkinci yinelemede, aynı VCC'yi paylaşan bir sonraki eşleşen ARP girişi için lec_arp_clear_vccs() tekrar çağrılır. Fonksiyon, vcc->user_back üzerinden (LEC_VCC_PRIV(vcc) aracılığıyla) NULL bir vpriv alır ve ardından bunu `vcc->pop = vpriv->old_pop` ile dereference etmeye çalışarak null-ptr-deref çökmesine neden olur. Bu durum, dereference işleminden önce vpriv için bir null kontrolü eklenerek düzeltilmiştir. Eğer vpriv zaten NULL ise, bu VCC'nin önceki bir çağrı tarafından temizlendiği anlamına gelir; dolayısıyla temizleme işlemi güvenle atlanabilir ve sadece girişin vcc/recv_vcc işaretçileri temizlenebilir. Tüm temizleme bloğu (vcc_release_async() dahil), vpriv koruması içine yerleştirilmiştir çünkü NULL bir vpriv, VCC'nin önceki bir yineleme tarafından tamamen serbest bırakıldığını gösterir; yıkım işlemini tekrarlamak, bayrakları gereksiz yere ayarlayacak ve halihazırda kapanmakta olan bir sokette geri çağırmaları tetikleyecektir. entry->vcc yolu orijinal koddan beri savunmasız olduğu için Fixes etiketi ilk commite yönlendirilmiştir. entry->recv_vcc yolu daha sonra 8d9f73c0ad2f ("atm: fix a memory leak of vcc->user_back") commiti ile aynı desenle eklenmiş olup, her iki yol da burada düzeltilmiştir.
Nasıl düzeltilir
- linux linux_kernel5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7 ya da sonraki bir sürüm
- 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
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| 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 |
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.