CVE-2025-40102 in Linux
Сводка
по VulDB • 07.06.2026
В ядре Linux устранена следующая уязвимость:
KVM: arm64: Предотвращение доступа к событиям vCPU до инициализации
Еще один день — еще одна ошибка, найденная с помощью syzkaller. KVM ошибочно позволяет пользователям пространства пользователей (userspace) ставить в очередь события vCPU для vCPU, которая еще не была инициализирована, что приводит к тому, что KVM интерпретирует кучу неинициализированных мусорных данных при маршрутизации/вбросе исключения.
В одном случае код вброса и гипервизор по-разному трактуют наличие у vCPU 32-битного уровня EL1, переводя vCPU в недопустимый режим для AArch64, что вызывает срабатывание BUG() в функции exception_target_el() при следующем вбросе:
kernel BUG at arch/arm64/kvm/inject_fault.c:40! Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
CPU: 3 UID: 0 PID: 318 Comm: repro Not tainted 6.17.0-rc4-00104-g10fd0285305d #6 PREEMPT Hardware name: linux,dummy-virt (DT) pstate: 21402009 (nzCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--) pc : exception_target_el+0x88/0x8c lr : pend_serror_exception+0x18/0x13c sp : ffff800082f03a10 x29: ffff800082f03a10 x28: ffff0000cb132280 x27: 0000000000000000 x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 x23: 0000000000000000 x22: 0000000000000000 x21: 0000000000000000 x20: 0000000000000000 x19: ffff800080f621f0 x18: 0000000000000000 x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000 x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 x8 : ffff800082f03af8 x7 : 0000000000000000 x6 : 0000000000000000 x5 : ffff800080f621f0 x4 : 0000000000000000 x3 : 0000000000000000 x2 : 000000000040009b x1 : 0000000000000003 x0 : ffff0000c2a99c20 Call trace: exception_target_el+0x88/0x8c (P) kvm_inject_serror_esr+0x40/0x3b4 __kvm_arm_vcpu_set_events+0xf0/0x100 kvm_arch_vcpu_ioctl+0x180/0x9d4 kvm_vcpu_ioctl+0x60c/0x9f4 __arm64_sys_ioctl+0xac/0x104 invoke_syscall+0x48/0x110 el0_svc_common.constprop.0+0x40/0xe0 do_el0_svc+0x1c/0x28 el0_svc+0x34/0xf0 el0t_64_sync_handler+0xa0/0xe4 el0t_64_sync+0x198/0x19c Code: f946bc01 b4fffe61 9101e020 17fffff2 (d4210000)
Отклонять ioctls outright, так как ни один разумный VMM не будет вызывать их до KVM_ARM_VCPU_INIT. Даже если бы он это сделал, исключение было бы отброшено в результате последующего сброса состояния vCPU.
If you want to get best quality of vulnerability data, you may have to visit VulDB.