Vulnerability Details CVE-2021-47390
In the Linux kernel, the following vulnerability has been resolved:
KVM: x86: Fix stack-out-of-bounds memory access from ioapic_write_indirect()
KASAN reports the following issue:
BUG: KASAN: stack-out-of-bounds in kvm_make_vcpus_request_mask+0x174/0x440 [kvm]
Read of size 8 at addr ffffc9001364f638 by task qemu-kvm/4798
CPU: 0 PID: 4798 Comm: qemu-kvm Tainted: G X --------- ---
Hardware name: AMD Corporation DAYTONA_X/DAYTONA_X, BIOS RYM0081C 07/13/2020
Call Trace:
dump_stack+0xa5/0xe6
print_address_description.constprop.0+0x18/0x130
? kvm_make_vcpus_request_mask+0x174/0x440 [kvm]
__kasan_report.cold+0x7f/0x114
? kvm_make_vcpus_request_mask+0x174/0x440 [kvm]
kasan_report+0x38/0x50
kasan_check_range+0xf5/0x1d0
kvm_make_vcpus_request_mask+0x174/0x440 [kvm]
kvm_make_scan_ioapic_request_mask+0x84/0xc0 [kvm]
? kvm_arch_exit+0x110/0x110 [kvm]
? sched_clock+0x5/0x10
ioapic_write_indirect+0x59f/0x9e0 [kvm]
? static_obj+0xc0/0xc0
? __lock_acquired+0x1d2/0x8c0
? kvm_ioapic_eoi_inject_work+0x120/0x120 [kvm]
The problem appears to be that 'vcpu_bitmap' is allocated as a single long
on stack and it should really be KVM_MAX_VCPUS long. We also seem to clear
the lower 16 bits of it with bitmap_zero() for no particular reason (my
guess would be that 'bitmap' and 'vcpu_bitmap' variables in
kvm_bitmap_or_dest_vcpus() caused the confusion: while the later is indeed
16-bit long, the later should accommodate all possible vCPUs).
Exploit prediction scoring system (EPSS) score
EPSS Score 0.0
EPSS Ranking 2.2%
CVSS Severity
CVSS v3 Score 7.1
Products affected by CVE-2021-47390
-
cpe:2.3:o:linux:linux_kernel:5.10
-
cpe:2.3:o:linux:linux_kernel:5.10.0
-
cpe:2.3:o:linux:linux_kernel:5.10.1
-
cpe:2.3:o:linux:linux_kernel:5.10.10
-
cpe:2.3:o:linux:linux_kernel:5.10.11
-
cpe:2.3:o:linux:linux_kernel:5.10.12
-
cpe:2.3:o:linux:linux_kernel:5.10.13
-
cpe:2.3:o:linux:linux_kernel:5.10.14
-
cpe:2.3:o:linux:linux_kernel:5.10.15
-
cpe:2.3:o:linux:linux_kernel:5.10.16
-
cpe:2.3:o:linux:linux_kernel:5.10.17
-
cpe:2.3:o:linux:linux_kernel:5.10.18
-
cpe:2.3:o:linux:linux_kernel:5.10.19
-
cpe:2.3:o:linux:linux_kernel:5.10.2
-
cpe:2.3:o:linux:linux_kernel:5.10.20
-
cpe:2.3:o:linux:linux_kernel:5.10.21
-
cpe:2.3:o:linux:linux_kernel:5.10.22
-
cpe:2.3:o:linux:linux_kernel:5.10.23
-
cpe:2.3:o:linux:linux_kernel:5.10.24
-
cpe:2.3:o:linux:linux_kernel:5.10.25
-
cpe:2.3:o:linux:linux_kernel:5.10.26
-
cpe:2.3:o:linux:linux_kernel:5.10.27
-
cpe:2.3:o:linux:linux_kernel:5.10.28
-
cpe:2.3:o:linux:linux_kernel:5.10.29
-
cpe:2.3:o:linux:linux_kernel:5.10.3
-
cpe:2.3:o:linux:linux_kernel:5.10.30
-
cpe:2.3:o:linux:linux_kernel:5.10.31
-
cpe:2.3:o:linux:linux_kernel:5.10.32
-
cpe:2.3:o:linux:linux_kernel:5.10.33
-
cpe:2.3:o:linux:linux_kernel:5.10.34
-
cpe:2.3:o:linux:linux_kernel:5.10.35
-
cpe:2.3:o:linux:linux_kernel:5.10.36
-
cpe:2.3:o:linux:linux_kernel:5.10.37
-
cpe:2.3:o:linux:linux_kernel:5.10.38
-
cpe:2.3:o:linux:linux_kernel:5.10.39
-
cpe:2.3:o:linux:linux_kernel:5.10.4
-
cpe:2.3:o:linux:linux_kernel:5.10.40
-
cpe:2.3:o:linux:linux_kernel:5.10.41
-
cpe:2.3:o:linux:linux_kernel:5.10.42
-
cpe:2.3:o:linux:linux_kernel:5.10.43
-
cpe:2.3:o:linux:linux_kernel:5.10.44
-
cpe:2.3:o:linux:linux_kernel:5.10.45
-
cpe:2.3:o:linux:linux_kernel:5.10.46
-
cpe:2.3:o:linux:linux_kernel:5.10.47
-
cpe:2.3:o:linux:linux_kernel:5.10.48
-
cpe:2.3:o:linux:linux_kernel:5.10.49
-
cpe:2.3:o:linux:linux_kernel:5.10.5
-
cpe:2.3:o:linux:linux_kernel:5.10.50
-
cpe:2.3:o:linux:linux_kernel:5.10.51
-
cpe:2.3:o:linux:linux_kernel:5.10.52
-
cpe:2.3:o:linux:linux_kernel:5.10.53
-
cpe:2.3:o:linux:linux_kernel:5.10.54
-
cpe:2.3:o:linux:linux_kernel:5.10.55
-
cpe:2.3:o:linux:linux_kernel:5.10.56
-
cpe:2.3:o:linux:linux_kernel:5.10.57
-
cpe:2.3:o:linux:linux_kernel:5.10.58
-
cpe:2.3:o:linux:linux_kernel:5.10.59
-
cpe:2.3:o:linux:linux_kernel:5.10.6
-
cpe:2.3:o:linux:linux_kernel:5.10.60
-
cpe:2.3:o:linux:linux_kernel:5.10.61
-
cpe:2.3:o:linux:linux_kernel:5.10.62
-
cpe:2.3:o:linux:linux_kernel:5.10.63
-
cpe:2.3:o:linux:linux_kernel:5.10.64
-
cpe:2.3:o:linux:linux_kernel:5.10.65
-
cpe:2.3:o:linux:linux_kernel:5.10.66
-
cpe:2.3:o:linux:linux_kernel:5.10.67
-
cpe:2.3:o:linux:linux_kernel:5.10.68
-
cpe:2.3:o:linux:linux_kernel:5.10.69
-
cpe:2.3:o:linux:linux_kernel:5.10.7
-
cpe:2.3:o:linux:linux_kernel:5.10.70
-
cpe:2.3:o:linux:linux_kernel:5.10.8
-
cpe:2.3:o:linux:linux_kernel:5.10.9
-
cpe:2.3:o:linux:linux_kernel:5.11
-
cpe:2.3:o:linux:linux_kernel:5.11.1
-
cpe:2.3:o:linux:linux_kernel:5.11.10
-
cpe:2.3:o:linux:linux_kernel:5.11.11
-
cpe:2.3:o:linux:linux_kernel:5.11.12
-
cpe:2.3:o:linux:linux_kernel:5.11.13
-
cpe:2.3:o:linux:linux_kernel:5.11.14
-
cpe:2.3:o:linux:linux_kernel:5.11.15
-
cpe:2.3:o:linux:linux_kernel:5.11.16
-
cpe:2.3:o:linux:linux_kernel:5.11.17
-
cpe:2.3:o:linux:linux_kernel:5.11.18
-
cpe:2.3:o:linux:linux_kernel:5.11.19
-
cpe:2.3:o:linux:linux_kernel:5.11.2
-
cpe:2.3:o:linux:linux_kernel:5.11.20
-
cpe:2.3:o:linux:linux_kernel:5.11.21
-
cpe:2.3:o:linux:linux_kernel:5.11.22
-
cpe:2.3:o:linux:linux_kernel:5.11.3
-
cpe:2.3:o:linux:linux_kernel:5.11.4
-
cpe:2.3:o:linux:linux_kernel:5.11.5
-
cpe:2.3:o:linux:linux_kernel:5.11.6
-
cpe:2.3:o:linux:linux_kernel:5.11.7
-
cpe:2.3:o:linux:linux_kernel:5.11.8
-
cpe:2.3:o:linux:linux_kernel:5.11.9
-
cpe:2.3:o:linux:linux_kernel:5.12
-
cpe:2.3:o:linux:linux_kernel:5.12.1
-
cpe:2.3:o:linux:linux_kernel:5.12.10
-
cpe:2.3:o:linux:linux_kernel:5.12.11
-
cpe:2.3:o:linux:linux_kernel:5.12.12
-
cpe:2.3:o:linux:linux_kernel:5.12.13
-
cpe:2.3:o:linux:linux_kernel:5.12.14
-
cpe:2.3:o:linux:linux_kernel:5.12.15
-
cpe:2.3:o:linux:linux_kernel:5.12.16
-
cpe:2.3:o:linux:linux_kernel:5.12.17
-
cpe:2.3:o:linux:linux_kernel:5.12.18
-
cpe:2.3:o:linux:linux_kernel:5.12.19
-
cpe:2.3:o:linux:linux_kernel:5.12.2
-
cpe:2.3:o:linux:linux_kernel:5.12.25
-
cpe:2.3:o:linux:linux_kernel:5.12.3
-
cpe:2.3:o:linux:linux_kernel:5.12.4
-
cpe:2.3:o:linux:linux_kernel:5.12.5
-
cpe:2.3:o:linux:linux_kernel:5.12.6
-
cpe:2.3:o:linux:linux_kernel:5.12.7
-
cpe:2.3:o:linux:linux_kernel:5.12.8
-
cpe:2.3:o:linux:linux_kernel:5.12.9
-
cpe:2.3:o:linux:linux_kernel:5.13
-
cpe:2.3:o:linux:linux_kernel:5.13.0-52
-
cpe:2.3:o:linux:linux_kernel:5.13.1
-
cpe:2.3:o:linux:linux_kernel:5.13.10
-
cpe:2.3:o:linux:linux_kernel:5.13.11
-
cpe:2.3:o:linux:linux_kernel:5.13.12
-
cpe:2.3:o:linux:linux_kernel:5.13.13
-
cpe:2.3:o:linux:linux_kernel:5.13.14
-
cpe:2.3:o:linux:linux_kernel:5.13.15
-
cpe:2.3:o:linux:linux_kernel:5.13.16
-
cpe:2.3:o:linux:linux_kernel:5.13.17
-
cpe:2.3:o:linux:linux_kernel:5.13.18
-
cpe:2.3:o:linux:linux_kernel:5.13.19
-
cpe:2.3:o:linux:linux_kernel:5.13.2
-
cpe:2.3:o:linux:linux_kernel:5.13.3
-
cpe:2.3:o:linux:linux_kernel:5.13.4
-
cpe:2.3:o:linux:linux_kernel:5.13.5
-
cpe:2.3:o:linux:linux_kernel:5.13.6
-
cpe:2.3:o:linux:linux_kernel:5.13.7
-
cpe:2.3:o:linux:linux_kernel:5.13.8
-
cpe:2.3:o:linux:linux_kernel:5.13.9
-
cpe:2.3:o:linux:linux_kernel:5.14
-
cpe:2.3:o:linux:linux_kernel:5.14.1
-
cpe:2.3:o:linux:linux_kernel:5.14.2
-
cpe:2.3:o:linux:linux_kernel:5.14.3
-
cpe:2.3:o:linux:linux_kernel:5.14.4
-
cpe:2.3:o:linux:linux_kernel:5.14.5
-
cpe:2.3:o:linux:linux_kernel:5.14.6
-
cpe:2.3:o:linux:linux_kernel:5.14.7
-
cpe:2.3:o:linux:linux_kernel:5.14.8
-
cpe:2.3:o:linux:linux_kernel:5.14.9
-
cpe:2.3:o:linux:linux_kernel:5.15
-
cpe:2.3:o:linux:linux_kernel:5.5
-
cpe:2.3:o:linux:linux_kernel:5.5.0
-
cpe:2.3:o:linux:linux_kernel:5.5.1
-
cpe:2.3:o:linux:linux_kernel:5.5.10
-
cpe:2.3:o:linux:linux_kernel:5.5.11
-
cpe:2.3:o:linux:linux_kernel:5.5.12
-
cpe:2.3:o:linux:linux_kernel:5.5.13
-
cpe:2.3:o:linux:linux_kernel:5.5.14
-
cpe:2.3:o:linux:linux_kernel:5.5.15
-
cpe:2.3:o:linux:linux_kernel:5.5.16
-
cpe:2.3:o:linux:linux_kernel:5.5.17
-
cpe:2.3:o:linux:linux_kernel:5.5.18
-
cpe:2.3:o:linux:linux_kernel:5.5.19
-
cpe:2.3:o:linux:linux_kernel:5.5.2
-
cpe:2.3:o:linux:linux_kernel:5.5.3
-
cpe:2.3:o:linux:linux_kernel:5.5.4
-
cpe:2.3:o:linux:linux_kernel:5.5.5
-
cpe:2.3:o:linux:linux_kernel:5.5.6
-
cpe:2.3:o:linux:linux_kernel:5.5.7
-
cpe:2.3:o:linux:linux_kernel:5.5.8
-
cpe:2.3:o:linux:linux_kernel:5.5.9
-
cpe:2.3:o:linux:linux_kernel:5.6
-
cpe:2.3:o:linux:linux_kernel:5.6.1
-
cpe:2.3:o:linux:linux_kernel:5.6.10
-
cpe:2.3:o:linux:linux_kernel:5.6.11
-
cpe:2.3:o:linux:linux_kernel:5.6.12
-
cpe:2.3:o:linux:linux_kernel:5.6.13
-
cpe:2.3:o:linux:linux_kernel:5.6.14
-
cpe:2.3:o:linux:linux_kernel:5.6.15
-
cpe:2.3:o:linux:linux_kernel:5.6.16
-
cpe:2.3:o:linux:linux_kernel:5.6.17
-
cpe:2.3:o:linux:linux_kernel:5.6.18
-
cpe:2.3:o:linux:linux_kernel:5.6.19
-
cpe:2.3:o:linux:linux_kernel:5.6.2
-
cpe:2.3:o:linux:linux_kernel:5.6.3
-
cpe:2.3:o:linux:linux_kernel:5.6.4
-
cpe:2.3:o:linux:linux_kernel:5.6.5
-
cpe:2.3:o:linux:linux_kernel:5.6.6
-
cpe:2.3:o:linux:linux_kernel:5.6.7
-
cpe:2.3:o:linux:linux_kernel:5.6.7-1
-
cpe:2.3:o:linux:linux_kernel:5.6.8
-
cpe:2.3:o:linux:linux_kernel:5.6.9
-
cpe:2.3:o:linux:linux_kernel:5.7
-
cpe:2.3:o:linux:linux_kernel:5.7.0
-
cpe:2.3:o:linux:linux_kernel:5.7.1
-
cpe:2.3:o:linux:linux_kernel:5.7.10
-
cpe:2.3:o:linux:linux_kernel:5.7.11
-
cpe:2.3:o:linux:linux_kernel:5.7.12
-
cpe:2.3:o:linux:linux_kernel:5.7.13
-
cpe:2.3:o:linux:linux_kernel:5.7.14
-
cpe:2.3:o:linux:linux_kernel:5.7.15
-
cpe:2.3:o:linux:linux_kernel:5.7.16
-
cpe:2.3:o:linux:linux_kernel:5.7.17
-
cpe:2.3:o:linux:linux_kernel:5.7.18
-
cpe:2.3:o:linux:linux_kernel:5.7.19
-
cpe:2.3:o:linux:linux_kernel:5.7.2
-
cpe:2.3:o:linux:linux_kernel:5.7.3
-
cpe:2.3:o:linux:linux_kernel:5.7.4
-
cpe:2.3:o:linux:linux_kernel:5.7.5
-
cpe:2.3:o:linux:linux_kernel:5.7.6
-
cpe:2.3:o:linux:linux_kernel:5.7.7
-
cpe:2.3:o:linux:linux_kernel:5.7.8
-
cpe:2.3:o:linux:linux_kernel:5.7.9
-
cpe:2.3:o:linux:linux_kernel:5.8
-
cpe:2.3:o:linux:linux_kernel:5.8.0
-
cpe:2.3:o:linux:linux_kernel:5.8.1
-
cpe:2.3:o:linux:linux_kernel:5.8.10
-
cpe:2.3:o:linux:linux_kernel:5.8.11
-
cpe:2.3:o:linux:linux_kernel:5.8.12
-
cpe:2.3:o:linux:linux_kernel:5.8.13
-
cpe:2.3:o:linux:linux_kernel:5.8.14
-
cpe:2.3:o:linux:linux_kernel:5.8.15
-
cpe:2.3:o:linux:linux_kernel:5.8.16
-
cpe:2.3:o:linux:linux_kernel:5.8.17
-
cpe:2.3:o:linux:linux_kernel:5.8.18
-
cpe:2.3:o:linux:linux_kernel:5.8.2
-
cpe:2.3:o:linux:linux_kernel:5.8.3
-
cpe:2.3:o:linux:linux_kernel:5.8.4
-
cpe:2.3:o:linux:linux_kernel:5.8.5
-
cpe:2.3:o:linux:linux_kernel:5.8.6
-
cpe:2.3:o:linux:linux_kernel:5.8.7
-
cpe:2.3:o:linux:linux_kernel:5.8.8
-
cpe:2.3:o:linux:linux_kernel:5.8.9
-
cpe:2.3:o:linux:linux_kernel:5.9
-
cpe:2.3:o:linux:linux_kernel:5.9.0
-
cpe:2.3:o:linux:linux_kernel:5.9.1
-
cpe:2.3:o:linux:linux_kernel:5.9.10
-
cpe:2.3:o:linux:linux_kernel:5.9.11
-
cpe:2.3:o:linux:linux_kernel:5.9.12
-
cpe:2.3:o:linux:linux_kernel:5.9.13
-
cpe:2.3:o:linux:linux_kernel:5.9.14
-
cpe:2.3:o:linux:linux_kernel:5.9.15
-
cpe:2.3:o:linux:linux_kernel:5.9.16
-
cpe:2.3:o:linux:linux_kernel:5.9.2
-
cpe:2.3:o:linux:linux_kernel:5.9.3
-
cpe:2.3:o:linux:linux_kernel:5.9.4
-
cpe:2.3:o:linux:linux_kernel:5.9.5
-
cpe:2.3:o:linux:linux_kernel:5.9.6
-
cpe:2.3:o:linux:linux_kernel:5.9.7
-
cpe:2.3:o:linux:linux_kernel:5.9.8
-
cpe:2.3:o:linux:linux_kernel:5.9.9