CVE-2021-47217

x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails

published April 10, 2024

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

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

x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails

Check for a valid hv_vp_index array prior to derefencing hv_vp_index when

setting Hyper-V's TSC change callback. If Hyper-V setup failed in

hyperv_init(), the kernel will still report that it's running under

Hyper-V, but will have silently disabled nearly all functionality.

BUG: kernel NULL pointer dereference, address: 0000000000000010

#PF: supervisor read access in kernel mode

#PF: error_code(0x0000) - not-present page

PGD 0 P4D 0

Oops: 0000 [#1] SMP

CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.15.0-rc2+ #75

Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015

RIP: 0010:set_hv_tscchange_cb+0x15/0xa0

Code: <8b> 04 82 8b 15 12 17 85 01 48 c1 e0 20 48 0d ee 00 01 00 f6 c6 08

...

Call Trace:

kvm_arch_init+0x17c/0x280

kvm_init+0x31/0x330

vmx_init+0xba/0x13a

do_one_initcall+0x41/0x1c0

kernel_init_freeable+0x1f2/0x23b

kernel_init+0x16/0x120

ret_from_fork+0x22/0x30

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00235 · 13.7th percentile
Published
2024-04-10T19:01Z
EPSS history
Timeline
  • 10 APR 19:01Z
    x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails
    cvelistv5