CVE-2026-98396

Belirsiz

Açıklama

Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: powerpc: arch_exit_to_user_mode_prepare() fonksiyonunda KUAP geri yüklenmesin KUAP, açıkça etkinleştirilmediği sürece çekirdeğin kullanıcı belleğine erişemeyeceği anlamına gelir. Çekirdek içerisinde bu değer AMR_KUAP_BLOCKED olarak kalmalıdır. Kullanıcı alanına dönmeden hemen önce, RFI işleminden önce, çekirdek kullanıcı AMR değerini geri yüklemelidir. GENERIC_ENTRY özelliğinin, arch_exit_to_user_mode_prepare() fonksiyonunu kullanıcı alanına dönmeden önceki son mimari adım olarak değerlendirdiği görülmektedir. Bu nedenle bee25f97ad24 ("powerpc: Enable GENERIC_ENTRY feature") commit'i, söz konusu kanca üzerinden kuap_user_restore() fonksiyonunu çağırmıştır. Ancak PowerPC üzerinde bu işlem çok erkendir. irqentry_exit() / syscall_exit_to_user_mode() işlemlerinden sonra hala platforma özgü çıkış rutinleri çalıştırılmaktadır. Örneğin; hem istisna yönetiminin hem de sistem çağrısı yönetiminin, kuap_user_restore() işlemini gerçekleştiren arch_exit_to_user_mode_prepare() fonksiyonunu çağıran taraflar olduğunu gösteren kod parçacıkları aşağıdadır. Aşağıdaki yol, kuap_user_restore() fonksiyonunun arch_exit_to_user_mode_prepare() üzerinden çağrılmasının çok erken olduğunu göstermektedir. exceptions-64s.S dosyasındaki istisna yönetimi ======================================= bl CFUNC(do_page_fault) ..DEFINE_INTERRUPT_HANDLER_ASYNC(do_page_fault) arch_interrupt_async_enter_prepare(regs); state = irqentry_enter(regs); instrumentation_begin(); irq_enter_rcu(); handler(regs); nap_adjust_return(regs); irq_exit_rcu(); instrumentation_end(); arch_interrupt_async_exit_prepare(regs); irqentry_exit(regs, state); <<< çok erken irqentry_exit_to_user_mode() __exit_to_user_mode_prepare(regs, EXIT_TO_USER_MODE_WORK_IRQ); arch_exit_to_user_mode_prepare(regs, ti_work); <<< çok erken b interrupt_return_srr .. bl CFUNC(interrupt_exit_user_prepare) <<< zaten kuap_user_restore çağrısını yapar prep_irq_for_enabled_exit() yeniden denemesi, IRQ'lar açıkken çekirdek kodu çalıştırabilir. Bu nedenle, kullanıcı KUAP değeri ancak bu rutin tamamen bittiğinde geri yüklenmelidir ve interrupt_exit_user_prepare() dönerken bunu halihazırda yapmaktadır. Benzer şekilde interrupt_64.S dosyasındaki sistem çağrısı yönetimi için: ====================================================== bl CFUNC(system_call_exception) .Lsyscall_exit: addi r4,r1,STACK_INT_FRAME_REGS li r5,0 /* !scv */ bl CFUNC(syscall_exit_prepare) .. kuap_assert_locked(); syscall_exit_to_user_mode(regs); <<< çok erken syscall_exit_to_user_mode_prepare(regs); <<< çok erken kuap_user_restore(regs); <<< zaten çağrıyı yapar syscall_exit_prepare() fonksiyonu IRQ'ları etkinleştirebilir, bekleyen bir kesmeyi tekrar oynatabilir ve ancak ondan sonra rfi işlemini gerçekleştirir. Bu fonksiyonlar, rfi'den hemen önce KUAP'ı zaten geri yüklemektedir. Yukarıdaki kod parçacıklarında gösterildiği gibi kullanıcı AMR değeri mevcut kodda olduğu gibi çok erken geri yüklenirse, CONFIG_PPC_KUAP_DEBUG etkinleştirildiğinde şu uyarı alınmaktadır: WARNING: arch/powerpc/include/asm/book3s/64/kup.h:293 at interrupt_exit_user_prepare+0x1a0/0x1c0 Hardware name: IBM pSeries (emulated by qemu) POWER10 (architected) TRAP: 0700 LR: c00000000000d8d4 CTR: c0000000021fe500 MSR: <SF,EE,ME,IR,DR,RI,LE> CR: 44000804 XER: 20040000 interrupt_exit_user_prepare+0x1a0/0x1c0 interrupt_return_srr_user+0x8/0x12c

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

Nasıl düzeltilir

Güncelleyin
  • Linux Linuxc8e80c19c3b9c8db83a14fab00445a6064992442, c2549d749539487239475fbc8c614a1f9244d655 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
Linux Linux02565a782c1ee7e8ada38ad24a698e01d6ea9ff8 ≤ v < c8e80c19c3b9c8db83a14fab00445a6064992442, 02565a782c1ee7e8ada38ad24a698e01d6ea9ff8 ≤ v < c2549d749539487239475fbc8c614a1f9244d655, 7.2c8e80c19c3b9c8db83a14fab00445a6064992442, c2549d749539487239475fbc8c614a1f9244d655

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