CVE-2025-40306

Yüksek

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: orangefs: xattr ile ilgili arabellek taşması düzeltildi... Willy Tarreau <[email protected]>, Disclosure <[email protected]> adresinden gelen şu uyarıyı içeren bir mesajı bana iletti: > `xattr_key()` yardımcı fonksiyonu, döngü koşulunda işaretçiyi çözmek yerine doğrudan işaretçi değişkenini kullanıyor. `key` artırıldıkça, (eşlenmemiş belleğe rastlayana kadar) NULL olmayan değerini korur; bu nedenle döngü geçerli C dizilerinde sonlanmaz ve bellek üzerinde süresiz olarak ilerleyerek CPU tüketimine veya iş parçacığının asılı kalmasına neden olur. Bunu setfattr ve getfattr ile kolayca yeniden ürettim; bu durum kernel oops hatasına, kullanıcı süreçlerinin asılı kalmasına ve orangefs dosyalarının bozulmasına yol açtı. Disclosure, önerilen bir düzeltmeyi içeren bir diff (yama değil) gönderdi ve ben bu yamayı ona dayandırdım. xattr_key doğru çalışmaya başladıktan sonra, xfstest generic/069 testi, OOM'ye yol açan xattr ile ilgili bir bellek sızıntısını ortaya çıkardı. xattr_key özetlenmiş (hashed) bir anahtar döndürür. orangefs xattr önbelleğine xattr eklerken, bir kernel özetleme makrosu olan hash_add kullanıyordu. hash_add ayrıca anahtarı hash_log kullanarak tekrar özetlediği için xattr önbelleğine yapılan eklemeler yanlış hash kovasına gidiyordu. generic/069 tek bir dosya üzerinde yoğun işlem yapar ve orangefs her seferinde "security.capability" xattr'ı için bir getattr işlemi gerçekleştirir. Orangefs, içinde kmalloc barındıran xattr negatif önbelleklemesi yapar. xattr önbelleğine eklemeler yanlış kovaya gittiği için, "security.capability" için yapılan her getattr işlemi başka bir kmalloc ile sonuçlandı ve bunların hiçbiri serbest bırakılmadı. hash_add'in iki kullanımını hlist_add_head ile değiştirdim; böylece bellek sızıntısı durdu ve generic/069 hata vermeyi bıraktı.

ÖnemYüksek
CVSS7.8
İstismar olasılığı—
ÜrünLinux
Yayın8 Ara 2025
İlk görülme8 Ara 2025

Nasıl düzeltilir

Güncelleyin
  • Linux Linuxc6564ff6b53c9a8dc786b6f1c51ae7688273f931, ef892d2bf4f3fa2c8de1677dd307e678bdd3d865, 15afebb9597449c444801d1ff0b8d8b311f950ab, bc812574de633cf9a9ad6974490e45f6a4bb5126, e09a096104fc65859422817fb2211f35855983fe, 9127d1e90c90e5960c8bc72a4ce2c209691a7021, c2ca015ac109fd743fdde27933d59dc5ad46658e, 025e880759c279ec64d0f754fe65bf45961da864 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linuxf7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < c6564ff6b53c9a8dc786b6f1c51ae7688273f931, f7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < ef892d2bf4f3fa2c8de1677dd307e678bdd3d865, f7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < 15afebb9597449c444801d1ff0b8d8b311f950ab, f7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < bc812574de633cf9a9ad6974490e45f6a4bb5126, f7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < e09a096104fc65859422817fb2211f35855983fe, f7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < 9127d1e90c90e5960c8bc72a4ce2c209691a7021, f7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < c2ca015ac109fd743fdde27933d59dc5ad46658e, f7ab093f74bf638ed98fd1115f3efa17e308bb7f ≤ v < 025e880759c279ec64d0f754fe65bf45961da864, 4.6c6564ff6b53c9a8dc786b6f1c51ae7688273f931, ef892d2bf4f3fa2c8de1677dd307e678bdd3d865, 15afebb9597449c444801d1ff0b8d8b311f950ab, bc812574de633cf9a9ad6974490e45f6a4bb5126, e09a096104fc65859422817fb2211f35855983fe, 9127d1e90c90e5960c8bc72a4ce2c209691a7021, c2ca015ac109fd743fdde27933d59dc5ad46658e, 025e880759c279ec64d0f754fe65bf45961da864

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.

Intelligence 360 paketinde

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.

CVE-2025-40306 · Linux · Dark Radar