CVE-2025-68768
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: inet: frags: fqdir_pre_exit() içindeki bekleyen skb'leri temizle Eylül ayından beri NIPA'da pernet_ops_rwsem üzerinde ara sıra kilitlenmeler (deadlock) görülmektedir. Takılan görev genellikle bir Yazıcı (Writer) olarak kilidi almaya çalışan modprobe idi (genellikle ipvlan gibi bir sürücü yüklüyordu). lockdep, rwsem'ler için okuyucuları takip etmediğinden raporlardan okuma işlemi belirgin değildi. Daha yakından incelendiğinde, kilidi tutan Okuyucu'nun nf_conntrack_cleanup_net_list() içinde sonsuza kadar döngüye giren conntrack olduğu görüldü. Ara sıra meydana gelen NIPA çökmeleriyle ilgili geçmiş deneyimlere dayanarak, çökmeden önce çalışan testleri inceledim ve çökmenin ip_defrag.sh'ı takip ettiğini fark ettim. Bu durum hemen dikkat çekti. (De)fragmentasyon kuyrukları tarandığında, conntrack referanslarını tutan ve orada bekleyen skb'ler tespit edildi. Sorun şudur ki; conntrack, nf_defrag_ipv6'ya bağımlı olduğundan, nf_defrag_ipv6 önce yüklenir. nf_defrag_ipv6 önce yüklendiği için, onun netns çıkış kancaları (hooks) conntrack'in netns çıkış kancasından _sonra_ çalışır. Conntrack temizliği çalışmadan önce conntrack referanslarını serbest bırakmak için fqdir_pre_exit() sırasında tüm fragment kuyruğu SKB'lerini temizleyin. Ayrıca, biz pre_exit temizliğini çalıştırırken araya paket sızması ihtimaline karşı, zamanlayıcı sona erme işleyicileri fqdir->dead değerinin ayarlandığını fark ettiklerinde kuyrukları temizlesin. Fixes altındaki commit tam olarak suçlu değildir ancak daha önceden zamanlayıcının tetiklenmesinin, dönen conntrack'in kilidini sonunda açtığını düşünüyorum.
Nasıl düzeltilir
- Linux Linux22ee4010866da81aeee08e1ea3fddbe418feb212, 543555954b1ee8d1903a7020324efb41b0c97428, c70df25214ac9b32b53e18e6ae3b8f073ffa6903, 006a5035b495dec008805df249f92c22c89c3d2e ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | d5dd88794a13c2f24cce31abad7a0a6c5e0ed2db ≤ v < 22ee4010866da81aeee08e1ea3fddbe418feb212, d5dd88794a13c2f24cce31abad7a0a6c5e0ed2db ≤ v < 543555954b1ee8d1903a7020324efb41b0c97428, d5dd88794a13c2f24cce31abad7a0a6c5e0ed2db ≤ v < c70df25214ac9b32b53e18e6ae3b8f073ffa6903, d5dd88794a13c2f24cce31abad7a0a6c5e0ed2db ≤ v < 006a5035b495dec008805df249f92c22c89c3d2e, 5.3 | 22ee4010866da81aeee08e1ea3fddbe418feb212, 543555954b1ee8d1903a7020324efb41b0c97428, c70df25214ac9b32b53e18e6ae3b8f073ffa6903, 006a5035b495dec008805df249f92c22c89c3d2e |
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.