CVE-2026-64401
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: smb: client: canlı kayıtlardan SWN tcon çözümleme cifs_swn_notify(), cifs_swnreg_idr_mutex altında bir tanık kaydını kimliğe göre arar, mutex'i serbest bırakır ve ardından kaydın önbelleğe alınmış tcon işaretçisini kullanır. Bu işaretçi bir yaşam süresi referansı değildir ve cifs_get_swn_reg() aynı ağ/paylaşım adı için birden fazla tcon'un tek bir kayıt kimliğini paylaşmasına izin verdiğinde kararlı bir temsilci olmaktan çıkar. Aynı paylaşımdaki ikinci bir bağlama işlemi, ilk tcon kaydı silindikten ve serbest bırakıldıktan sonra cifs_swn_reg yapısını hayatta tutabilir. Kayıt hala serbest bırakılmış olan ilk tcon'a işaret ettiği için swnreg->tcon üzerinden tc_lock alınması veya tc_count değerinin artırılması, serbest bırakıldıktan sonra kullanım (use-after-free) durumunu yalnızca öne çeker. cifs_swnreg_idr_mutex tutulurken tc_lock alınması ayrıca belgelenmiş CIFS kilit sırasını ihlal eder. Bu durum; kaydın yalnızca kararlı tanık kimliğini (id, ağ adı, paylaşım adı ve bildirim bayrakları) saklaması sağlanarak düzeltilmiştir. Bir bildirim geldiğinde, bu kimlik cifs_swnreg_idr_mutex altında kopyalanır, mutex serbest bırakılır ve ardından standart cifs_tcp_ses_lock -> tc_lock sırası altında mevcut ağ/paylaşım çiftiyle eşleşen canlı bir tanık tcon bulunur ve sabitlenir. Bildirim yolu, bu sabitlenmiş tcon'u doğrudan kullanır ve işlem tamamlandığında referansı serbest bırakır. Kayıt ve kayıt silme mesajları artık kayıttaki önbelleğe alınmış bir tcon yerine çağırıcı tarafından iletilen canlı tcon'u kullanır. Nihai kayıt silme gönderimi, kayıt hala cifs_swnreg_idr_mutex tarafından korunurken cifs_swn_unregister() içerisine dahil edilmiştir. Bu, önceki bul/bırak/yeniden edin ham işaretçi penceresini ortadan kaldırır. Serbest bırakma yolu yalnızca idr girişini kaldırır ve kararlı kimlik dizelerini serbest bırakır. Bu yöntem, amaçlanan tek kayıt/çoklu tcon davranışını korur: bir kayıt kimliği bir ağ/paylaşım çiftini temsil eder ve bildirim işleme, kullanım anında seçilen canlı bir temsilci üzerinde işlem yapar. Ayrıca, eski IP kayıt silme işlemi cifs_swn_register() yeni IP kaydını göndermeden önce gönderildiği için temsilci tcon için CLIENT_MOVE sıralamasını da korur.
Nasıl düzeltilir
- linux linux_kernel6.1.178, 6.6.145, 6.12.97, 6.18.39, 7.1.4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.11 ≤ v < 6.1.178, 6.2 ≤ v < 6.6.145, 6.7 ≤ v < 6.12.97, 6.13 ≤ v < 6.18.39, 6.19 ≤ v < 7.1.4 | 6.1.178, 6.6.145, 6.12.97, 6.18.39, 7.1.4 |
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.