CVE-2026-99093
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: mm: önyükleme sırasında ertelenmiş çekirdek sayfa tablosu serbest bırakma işlemini planlama Örneğin, bir önyükleme zamanı fonksiyon izleyicisi ve filtre ile önyükleme yapıldığında: ftrace=function ftrace_filter=pud_free_pmd_page izleyici başlar başlamaz 7.3-rc4 sürümünde panik oluşmaktadır: [ 23.531178] Starting tracer 'function' [ 23.675800] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000038: 0000 [#1] SMP KASAN NOPTI [ 23.819917] KASAN: null-ptr-deref in range [0x00000000000001c0-0x00000000000001c7] [ 23.964025] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 7.3.0-rc4-fe2ec83746e5-with-fixes-v2+ #195 PREEMPT(undef) [ 24.252248] RIP: 0010:__queue_work+0xab/0xf00 [ 25.981629] Call Trace: [ 26.125727] <TASK> [ 26.413912] ? pagetable_free_kernel+0x20/0x120 [ 26.990283] queue_work_on+0x97/0xf0 [ 27.134382] __cpa_collapse_large_pages+0x501/0x6f0 [ 27.566662] cpa_flush+0x394/0x620 [ 27.998953] change_page_attr_set_clr+0x321/0x4a0 [ 29.151729] set_memory_rox+0xa2/0xf0 [ 29.584018] create_trampoline+0x431/0x6f0 ... [ 44.343347] Kernel panic - not syncing: Attempted to kill the idle task! Önyükleme zamanı izleyicisi, workqueue_init_early() fonksiyonundan önce çalışan early_trace_init() üzerinden başlatılır. Trampolinin salt okunur hale getirilmesi büyük bir sayfayı böler ve CPA bunu hemen tekrar birleştirir. Bölünmüş tablo, 9e4a3ec3411b ("x86/mm/pat: Allocate split page tables as kernel page tables") commit'inden beri bir çekirdek sayfa tablosudur; bu nedenle birleştirme işlemi, tabloyu pagetable_free_kernel() aracılığıyla serbest bırakır ve o noktada hala NULL olan system_percpu_wq üzerinde iş kuyruğa eklenir. Söz konusu commit kendi başına doğrudur; sadece CPA'nın, ilgili fonksiyonun bağımlı olduğu iş kuyruğu mevcut olmadan önce pagetable_free_kernel() fonksiyonuna ulaşmasına izin vermektedir. Tablo listede tutulmaya devam edecek ancak sistem hala önyükleme aşamasındayken işlem planlanmayacaktır. Bir core_initcall, o ana kadar kuyruğa alınmış her şeyi serbest bırakmak için işlemi bir kez planlar.
Nasıl düzeltilir
- Linux Linux7a25ca170c12a9328f6fcf4410713beb516b01c0, df6c704a08bc0925d5db047b0a6221f962bda4d9, 2fb552b0bee70c24c092720028ab4620f5eb2646, 6.18.57, 7.2.11 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 84e0cd79d57f06b872154eb5d8f610584133f260 ≤ v < 7a25ca170c12a9328f6fcf4410713beb516b01c0, 922873cf4fc34124215070a8ad391bf831538bb9 ≤ v < df6c704a08bc0925d5db047b0a6221f962bda4d9, 9e4a3ec3411bb6bb59e3c1f29b75609f1e87aac4 ≤ v < 2fb552b0bee70c24c092720028ab4620f5eb2646, 6.18.53 ≤ v < 6.18.57, 7.2.7 ≤ v < 7.2.11 | 7a25ca170c12a9328f6fcf4410713beb516b01c0, df6c704a08bc0925d5db047b0a6221f962bda4d9, 2fb552b0bee70c24c092720028ab4620f5eb2646, 6.18.57, 7.2.11 |
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.