CVE-2025-68319
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: netconsole: Yapılandırma hiyerarşisinde gezinmeden önce su_mutex edinme userdata cg_children listesi üzerinde yineleme yapan işlemler ile configfs aracılığıyla userdata öğelerinin eşzamanlı eklenmesi/kaldırılması arasında bir yarış durumu vardır. update_userdata() işlevi nt->userdata_group.cg_children listesi üzerinde yineleme yapar ve count_extradata_entries() de düğümleri saymak için aynı liste üzerinde yineleme yapar. Documentation/filesystems/configfs.rst belgesinden alıntı: > Bir alt sistem, alt sistem tarafından oluşturulan ağacı görmek için cg_children listesinde ve ci_parent işaretçisinde gezinebilir. Bu, configfs'in hiyerarşi yönetimiyle yarışabilir, bu nedenle configfs değişiklikleri korumak için alt sistem mutex'ini kullanır. Bir alt sistem hiyerarşide gezindiğinde bunu alt sistem mutex'inin koruması altında yapmalıdır. Uygun kilitleme olmadan, bu işlevler yineleme yaparken eşzamanlı olarak bir userdata öğesi eklenir veya kaldırılırsa listeye tutarsız bir durumda erişilebilir. Örneğin, list_for_each() döngüsü, list_del_init() tarafından listeden kaldırılmakta olan bir düğüme ulaşabilir; bu işlev düğümün .next işaretçisini kendisine işaret edecek şekilde ayarlar, böylece döngü hiçbir zaman sonlanmaz (veya update_userdata() içindeki WARN_ON_ONCE konumuna ulaşmaz). Bunu, cg_children üzerinde yineleme yapan tüm işlemler sırasında configfs alt sistem mutex'ini (su_mutex) tutarak düzeltin. Bu şunları içerir: - cg_children üzerinde yineleme yapmak için update_userdata() işlevini çağıran userdatum_value_store() - cg_children üzerinde yineleme yapmak için count_extradata_entries() işlevini çağıran tüm sysdata_*_enabled_store() işlevleri Olası kilit sıralaması sorunlarını önlemek için su_mutex, dynamic_netconsole_mutex'ten önce edinilmelidir; çünkü configfs işlemleri kodumuza çağrı yaparken su_mutex'i zaten tutuyor olabilir.
Nasıl düzeltilir
- Linux Linux932c0c7a7ec413399febca5fe3dddf913bb5c924, ff70aa7e8cf05745fdba7258952a8bedf33ea336, d7d2fcf7ae31471b4e08b7e448b8fd0ec2e06a1b ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | df03f830d099f0811281a222aefdd9d400fa0b72 ≤ v < 932c0c7a7ec413399febca5fe3dddf913bb5c924, df03f830d099f0811281a222aefdd9d400fa0b72 ≤ v < ff70aa7e8cf05745fdba7258952a8bedf33ea336, df03f830d099f0811281a222aefdd9d400fa0b72 ≤ v < d7d2fcf7ae31471b4e08b7e448b8fd0ec2e06a1b, 6.9 | 932c0c7a7ec413399febca5fe3dddf913bb5c924, ff70aa7e8cf05745fdba7258952a8bedf33ea336, d7d2fcf7ae31471b4e08b7e448b8fd0ec2e06a1b |
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.