CVE-2026-98826

Belirsiz

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: rtc: ac100: Probe hatası durumunda saat sağlayıcı serbest bırakıldıktan sonra kullanım (use-after-free) sorunu düzeltildi ac100_rtc_register_clks(), RTC-32k saatini clk_hw_register_fixed_rate() ile ve saat sağlayıcısını of_clk_add_hw_provider() ile kaydeder. Bunların hiçbiri cihaz tarafından yönetilmemektedir ve her ikisi de yalnızca ac100_rtc_remove() üzerinden serbest bırakılır. Sürücü çekirdeği, probe() başarısız olduğunda remove() fonksiyonunu çağırmaz: really_probe(), device_remove() çağrısının altındaki probe_failed kısmına ulaşır ve doğrudan cihazın yönetilen kaynaklarını serbest bırakmaya geçer. ac100_rtc_probe() şu şekilde sona erer: return devm_rtc_register_device(chip->rtc); Bu nedenle, saatler kaydedildikten sonra bu işlem başarısız olursa; sağlayıcı, devm_kzalloc() ile tahsis edilen ve probe() geri sarılırken serbest bırakılan chip->clk_data'yı tutarak küresel of_clk_providers listesinde kalır. Daha sonra bu cihaz ağacı düğümü üzerinde yapılan bir arama, of_clk_hw_onecell_get() içinde serbest bırakılmış belleği okur. Ağaçta tam olarak bunu yapan tüketiciler mevcuttur: sun8i-a83t-bananapi-m3 ve sun8i-a83t-cubietruck-plus üzerindeki wifi güç dizisi düğümleri <&ac100_rtc 1> değerini alır ve sun9i-a80 kartları osc32k'yı <&ac100_rtc 0> üzerinden yönlendirir. Pencere dardır çünkü devm_rtc_register_device() burada yalnızca -ENOMEM ile hata verebilir, ancak hata oluştuğunda sağlayıcı askıda kalır. RTC-32k saati aynı yolda sızdırılmaktadır. clk_core_lookup(), cihaz başına kapsamlandırılmamış küresel bir listeyi aradığından, __clk_register() yinelenen ismi -EEXIST ile reddeder; böylece sızıntı, aynı cihazın daha sonraki bir probe işleminin de başarısız olmasına neden olur. ADDA 4M üst saatin bulunamadığı durumlarda -EINVAL döndüren hata yolu da RTC-32k saatini aynı şekilde sızdırır. O noktada herhangi bir sağlayıcı kaydedilmediğinden, bu durum bir serbest bırakıldıktan sonra kullanım değil, bir sızıntıdır. Hem devm_clk_hw_register_fixed_rate() hem de devm_of_clk_add_hw_provider() ile kayıt yapılarak, hatalı bir probe sırasında olduğu gibi ayıklama (unbind) sırasında da cihaz ortadan kalktığında serbest bırakılmaları sağlanmıştır. Devres, edinme sırasının tersine göre serbest bırakma yapar; böylece sağlayıcı, chip->clk_data serbest bırakılmadan önce kaldırılır ve clkout çocukları artık üst öğelerinden sonra değil, önce kayıttan çıkarılır. ac100_rtc_unregister_clks() ve remove geri çağırma işlemi artık yapacak bir şey kalmadığı için kaldırılmıştır.

ÖnemBelirsiz
CVSS—
İstismar olasılığı—
ÜrünLinux
Yayın18 Eki 2026
İlk görülme18 Eki 2026

Nasıl düzeltilir

Güncelleyin
  • Linux Linux12bcd20d76703ee2baf52224d287b7fea096b12f, 9cff19ddd7f90c1f572a0f83cfc41de8f8dcbcd8, 55ca60ba336632349f7c4585d22ba74ae355b7ce, fcf0b58e976e83adf246b014518e49c662b96f5e ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linuxd00a18a42c1483924de086ddfb0efe8da1dba3ac ≤ v < 12bcd20d76703ee2baf52224d287b7fea096b12f, d00a18a42c1483924de086ddfb0efe8da1dba3ac ≤ v < 9cff19ddd7f90c1f572a0f83cfc41de8f8dcbcd8, d00a18a42c1483924de086ddfb0efe8da1dba3ac ≤ v < 55ca60ba336632349f7c4585d22ba74ae355b7ce, d00a18a42c1483924de086ddfb0efe8da1dba3ac ≤ v < fcf0b58e976e83adf246b014518e49c662b96f5e, 4.912bcd20d76703ee2baf52224d287b7fea096b12f, 9cff19ddd7f90c1f572a0f83cfc41de8f8dcbcd8, 55ca60ba336632349f7c4585d22ba74ae355b7ce, fcf0b58e976e83adf246b014518e49c662b96f5e

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-2026-98826 · Linux · Dark Radar