CVE-2026-98841
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: virt: vmgenid: bildirim işleyicileri kaydedilmeden önce driver_data ayarlanmalı Her iki probe yolu da, işleyici tarafından başvurulan driver_data atanmadan önce bildirim işleyicisini kaydetmektedir. Devicetree yolunda, devm_request_irq() işleyiciyi kaydettiği anda bildirim IRQ tetiklenebilir: örneğin bir VMM, sürücü probe işlemi gerçekleştirmeden önce alınmış bir anlık görüntüsünden (snapshot) konuğu geri yüklerken nesil değiştirildi bildirimini enjekte ettiğinde, kesme probe sırasında zaten bekliyor olabilir (Firecracker anlık görüntü geri yüklemede tam olarak bunu yapar). IRQ ayrıca IRQF_SHARED ile talep edildiğinden, hattı paylaşan başka bir cihaz da işleyiciyi aynı erken aşamada tetikleyebilir. İşleyici daha sonra vmgenid_notify() fonksiyonunu çağırır; bu fonksiyon hala NULL olan driver_data'ya erişmeye çalışarak sistemin çökmesine (panic) neden olur: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.18.38+ #1 PREEMPT(none) Hardware name: linux,dummy-virt (DT) pc : vmgenid_notify.isra.0+0x24/0x8c lr : vmgenid_of_irq_handler+0x14/0x34 Call trace: vmgenid_notify.isra.0+0x24/0x8c (P) vmgenid_of_irq_handler+0x14/0x34 __handle_irq_event_percpu+0x44/0x1bc handle_irq_event+0x4c/0xb4 handle_fasteoi_irq+0xf8/0x1f8 ACPI yolu da aynı sıralama sorununa sahiptir: işleyici, driver_data atanmadan önce acpi_install_notify_handler() ile kurulur. ACPI bildirimleri bir workqueue üzerinden asenkron olarak gönderilir, bu nedenle zaman aralığı dardır ancak iki çağrı arasında gelen bir bildirim aynı NULL referans hatasına yol açar. İşleyiciler kaydedilmeden önce driver_data atanmalıdır. Bu noktada durum tamamen başlatılmış olduğundan, işleyicilerin çalıştırılması güvenlidir. Kayıt başarısız olursa, probe hata yolu arkasında boşta kalan bir işaretçi bırakmaz: sürücü çekirdeği device_unbind_cleanup() içinde driver_data'yı temizler.
Nasıl düzeltilir
- Linux Linux538fe5efaa9704ad820ba34b4f9df135ca873d79, 7a1e8daeaa466c6aaffa223e1afe9cfeece0dd47, 8f42954ad8bf9bdbf574f2c437ad30cb2601f401, 9f8139c6145cf17d690d6c414d43b4c0bef632fb ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | e07606713a908eee8099883c8c830ebe33aaf748 ≤ v < 538fe5efaa9704ad820ba34b4f9df135ca873d79, e07606713a908eee8099883c8c830ebe33aaf748 ≤ v < 7a1e8daeaa466c6aaffa223e1afe9cfeece0dd47, e07606713a908eee8099883c8c830ebe33aaf748 ≤ v < 8f42954ad8bf9bdbf574f2c437ad30cb2601f401, e07606713a908eee8099883c8c830ebe33aaf748 ≤ v < 9f8139c6145cf17d690d6c414d43b4c0bef632fb, 6.10 | 538fe5efaa9704ad820ba34b4f9df135ca873d79, 7a1e8daeaa466c6aaffa223e1afe9cfeece0dd47, 8f42954ad8bf9bdbf574f2c437ad30cb2601f401, 9f8139c6145cf17d690d6c414d43b4c0bef632fb |
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.