CVE-2026-46202

Orta

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: HID: appletb-kbd: hareketsizlik kaynaklı otomatik karartmayı (autodim) iş kuyruklarından (workqueues) çalıştırın hid-appletb-kbd içerisindeki otomatik karartma kodu, iki farklı atomik bağlam üzerinden backlight_device_set_brightness() -> mutex_lock() aracılığıyla backlight_device->ops_lock kilidini alır: * appletb_inactivity_timer() bir struct timer_list geri çağırmasıdır, bu nedenle softirq bağlamında çalışır. Her süre aşımı şunları tetikler: BUG: sleeping function called from invalid context at kernel/locking/mutex.c:591 Call Trace: <IRQ> __might_resched __mutex_lock backlight_device_set_brightness appletb_inactivity_timer call_timer_fn run_timer_softirq * reset_inactivity_timer(), appletb_kbd_hid_event() ve appletb_kbd_inp_event() tarafından çağrılır. Gerçek USB donanımlarında bunlar softirq/IRQ bağlamında (URB tamamlanması ve giriş olayı dağıtımı) çalışır. Touch Bar zaten karartıldığında veya kapatıldığında, sıfırlama yolu parlaklığı geri yüklemek için doğrudan backlight_device_set_brightness() fonksiyonunu çağırarak aynı uyarıyı üretir. Her iki çağrı noktası da aynı mutex_lock()-from-atomic hatasına yol açmaktadır. Engelleyici işlemi sistem iş kuyruğuna taşıyarak bunları birlikte düzeltin: * Hareketsizlik zamanlayıcısını struct timer_list yapısından struct delayed_work yapısına dönüştürün; geri çağırma (appletb_inactivity_work) artık mutex_lock() işleminin yasal olduğu işlem (process) bağlamında çalışır. * Özel bir struct work_struct restore_brightness_work ekleyin ve reset_inactivity_timer()'ın backlight_device_set_brightness() fonksiyonunu doğrudan çağırmak yerine bunu planlamasını sağlayın. Sürücü kaldırılırken her iki işlemi mevcut arka ışık referans düşürme işlemiyle birlikte senkron olarak iptal edin. Semantikler değişmemiştir (aynı gecikmeler, karartma, kapatma ve kullanıcı etkinliği durumunda aynı durum geçişleri); yalnızca uyku modundaki çağrının yürütme bağlamı değişmiştir. Zamanlayıcı alanı ve geri çağırma ismi yeni türlerine uygun şekilde yeniden adlandırılmıştır; reset_inactivity_timer() ismi, doğal olarak "hareketsizlik zamanlayıcısını sıfırla" şeklinde okunan giriş olayı yollarından çağrıldığı için korunmuştur.

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın28 May 2026
İlk görülme28 May 2026

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel6.18.32, 7.0.9 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel6.15 ≤ v < 6.18.32, 6.19 ≤ v < 7.0.9, 7.16.18.32, 7.0.9

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-46202 · Linux Kernel · Dark Radar