CVE-2026-89547
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: SUNRPC: svc havuzu percpu sayacı tahsisini kontrol et __svc_create() fonksiyonu, havuz başına üç adet percpu_counter istatistiği başlatır ve tüm dönüş değerlerini yoksayar. SMP üzerinde, __alloc_percpu_gfp() tahsisi karşılayamadığında percpu_counter_init() başarısız olur ve başarısız olan sayacı fbc->counters == NULL durumunda bırakırken, gömülü raw_spinlock_t, list_head ve count değerleri hiçbir zaman başlatılmaz. __svc_create() yine de yarıda kalmış svc_serv yapısını nfsd, lockd veya NFS geri çağırma servisine döndürür. Söz konusu servis devreye girdiğinde, svc_xprt_enqueue(), svc_handle_xprt() ve svc_pool_wake_idle_thread() içindeki kritik yol artırımları, destekleyici işaretçisi NULL olan bir sayaca ulaşır. İşaretçi bir per-cpu ofseti olduğundan erişim hata vermez: mevcut CPU'nun per-cpu alanının sıfırıncı ofsetine çözümlenir ve orada bulunan değişken neyse onu sessizce bozar. Bir /proc/fs/nfsd/pool_stats okuması aynı NULL per-cpu depolamasını tarar ve rastgele veriler döndürür; ayrıca CONFIG_DEBUG_SPINLOCK veya lockdep etkinse, hiç başlatılmamış kilit nedeniyle sistem çöker. Hatalı servisin oluşturulması, RPC sunucu başlangıcı sırasında bir percpu tahsis hatası gerektirir, bu nedenle buna yalnızca bellek baskısı altında veya hata enjeksiyonu yapan yerel bir yönetici tarafından erişilebilir; uzak bir eş, kötü durumu kendi başına tetikleyemez. __svc_create() içindeki her bir percpu_counter_init() dönüş değeri kontrol edilir ve bir tahsis başarısız olduğunda, mevcut havuzda ve ondan önce başlatılan her havuzda halihazırda kurulmuş olan sayaçlar geri alınarak işlem başarısız kılınır. Kapatma sırasında sayaç başına ayrı bir percpu_counter_destroy() çağrısı, her bir per-cpu tahsisini tam olarak bir kez serbest bırakır.
Nasıl düzeltilir
- Linux Linux57ac7d899409b0a9b768cf417e3bb86bcca3d4c6, 3a2b7649de76376a69f1d3ed2a539fb15907cd4d, bd1ef2cfb44d72b7aa6943e87b206eb0e30fbd0c, b541a15046976e481618726cc23db0fb22d576db, 43e11e164704dde975c9edb370de1a06bec67270 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | ccf08bed6e7a80519569456edd2ea21b7b1701c6 ≤ v < 57ac7d899409b0a9b768cf417e3bb86bcca3d4c6, ccf08bed6e7a80519569456edd2ea21b7b1701c6 ≤ v < 3a2b7649de76376a69f1d3ed2a539fb15907cd4d, ccf08bed6e7a80519569456edd2ea21b7b1701c6 ≤ v < bd1ef2cfb44d72b7aa6943e87b206eb0e30fbd0c, ccf08bed6e7a80519569456edd2ea21b7b1701c6 ≤ v < b541a15046976e481618726cc23db0fb22d576db, ccf08bed6e7a80519569456edd2ea21b7b1701c6 ≤ v < 43e11e164704dde975c9edb370de1a06bec67270, 6.3 | 57ac7d899409b0a9b768cf417e3bb86bcca3d4c6, 3a2b7649de76376a69f1d3ed2a539fb15907cd4d, bd1ef2cfb44d72b7aa6943e87b206eb0e30fbd0c, b541a15046976e481618726cc23db0fb22d576db, 43e11e164704dde975c9edb370de1a06bec67270 |
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.