CVE-2025-40184

CVE-2025-40184

published November 13, 2025

CVSS
—
EPSS
0%
Percentile
9.1
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

KVM: arm64: Fix debug checking for np-guests using huge mappings

When running with transparent huge pages and CONFIG_NVHE_EL2_DEBUG then

the debug checking in assert_host_shared_guest() fails on the launch of an

np-guest. This WARN_ON() causes a panic and generates the stack below.

In __pkvm_host_relax_perms_guest() the debug checking assumes the mapping

is a single page but it may be a block map. Update the checking so that

the size is not checked and just assumes the correct size.

While we're here make the same fix in __pkvm_host_mkyoung_guest().

Info: # lkvm run -k /share/arch/arm64/boot/Image -m 704 -c 8 --name guest-128

Info: Removed ghost socket file "/.lkvm//guest-128.sock".

[ 1406.521757] kvm [141]: nVHE hyp BUG at: arch/arm64/kvm/hyp/nvhe/mem_protect.c:1088!

[ 1406.521804] kvm [141]: nVHE call trace:

[ 1406.521828] kvm [141]: [<ffff8000811676b4>] __kvm_nvhe_hyp_panic+0xb4/0xe8

[ 1406.521946] kvm [141]: [<ffff80008116d12c>] __kvm_nvhe_assert_host_shared_guest+0xb0/0x10c

[ 1406.522049] kvm [141]: [<ffff80008116f068>] __kvm_nvhe___pkvm_host_relax_perms_guest+0x48/0x104

[ 1406.522157] kvm [141]: [<ffff800081169df8>] __kvm_nvhe_handle___pkvm_host_relax_perms_guest+0x64/0x7c

[ 1406.522250] kvm [141]: [<ffff800081169f0c>] __kvm_nvhe_handle_trap+0x8c/0x1a8

[ 1406.522333] kvm [141]: [<ffff8000811680fc>] __kvm_nvhe___skip_pauth_save+0x4/0x4

[ 1406.522454] kvm [141]: ---[ end nVHE call trace ]---

[ 1406.522477] kvm [141]: Hyp Offset: 0xfffece8013600000

[ 1406.522554] Kernel panic - not syncing: HYP panic:

[ 1406.522554] PS:834003c9 PC:0000b1806db6d170 ESR:00000000f2000800

[ 1406.522554] FAR:ffff8000804be420 HPFAR:0000000000804be0 PAR:0000000000000000

[ 1406.522554] VCPU:0000000000000000

[ 1406.523337] CPU: 3 UID: 0 PID: 141 Comm: kvm-vcpu-0 Not tainted 6.16.0-rc7 #97 PREEMPT

[ 1406.523485] Hardware name: FVP Base RevC (DT)

[ 1406.523566] Call trace:

[ 1406.523629] show_stack+0x18/0x24 (C)

[ 1406.523753] dump_stack_lvl+0xd4/0x108

[ 1406.523899] dump_stack+0x18/0x24

[ 1406.524040] panic+0x3d8/0x448

[ 1406.524184] nvhe_hyp_panic_handler+0x10c/0x23c

[ 1406.524325] kvm_handle_guest_abort+0x68c/0x109c

[ 1406.524500] handle_exit+0x60/0x17c

[ 1406.524630] kvm_arch_vcpu_ioctl_run+0x2e0/0x8c0

[ 1406.524794] kvm_vcpu_ioctl+0x1a8/0x9cc

[ 1406.524919] __arm64_sys_ioctl+0xac/0x104

[ 1406.525067] invoke_syscall+0x48/0x10c

[ 1406.525189] el0_svc_common.constprop.0+0x40/0xe0

[ 1406.525322] do_el0_svc+0x1c/0x28

[ 1406.525441] el0_svc+0x38/0x120

[ 1406.525588] el0t_64_sync_handler+0x10c/0x138

[ 1406.525750] el0t_64_sync+0x1ac/0x1b0

[ 1406.525876] SMP: stopping secondary CPUs

[ 1406.525965] Kernel Offset: disabled

[ 1406.526032] CPU features: 0x0000,00000080,8e134ca1,9446773f

[ 1406.526130] Memory Limit: none

[ 1406.959099] ---[ end Kernel panic - not syncing: HYP panic:

[ 1406.959099] PS:834003c9 PC:0000b1806db6d170 ESR:00000000f2000800

[ 1406.959099] FAR:ffff8000804be420 HPFAR:0000000000804be0 PAR:0000000000000000

[ 1406.959099] VCPU:0000000000000000 ]

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00198 · 9.1th percentile
Published
2025-11-13T03:15Z
References (2)
EPSS history
Timeline
  • 12 NOV 21:56Z
    KVM: arm64: Fix debug checking for np-guests using huge mappings
    cvelistv5