CVE-2022-50224

EUVD-2022-55201
In the Linux kernel, the following vulnerability has been resolved:

KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT

Treat the NX bit as valid when using NPT, as KVM will set the NX bit when
the NX huge page mitigation is enabled (mindblowing) and trigger the WARN
that fires on reserved SPTE bits being set.

KVM has required NX support for SVM since commit b26a71a1a5b9 ("KVM: SVM:
Refuse to load kvm_amd if NX support is not available") for exactly this
reason, but apparently it never occurred to anyone to actually test NPT
with the mitigation enabled.

  ------------[ cut here ]------------
  spte = 0x800000018a600ee7, level = 2, rsvd bits = 0x800f0000001fe000
  WARNING: CPU: 152 PID: 15966 at arch/x86/kvm/mmu/spte.c:215 make_spte+0x327/0x340 [kvm]
  Hardware name: Google, Inc. Arcadia_IT_80/Arcadia_IT_80, BIOS 10.48.0 01/27/2022
  RIP: 0010:make_spte+0x327/0x340 [kvm]
  Call Trace:
   <TASK>
   tdp_mmu_map_handle_target_level+0xc3/0x230 [kvm]
   kvm_tdp_mmu_map+0x343/0x3b0 [kvm]
   direct_page_fault+0x1ae/0x2a0 [kvm]
   kvm_tdp_page_fault+0x7d/0x90 [kvm]
   kvm_mmu_page_fault+0xfb/0x2e0 [kvm]
   npf_interception+0x55/0x90 [kvm_amd]
   svm_invoke_exit_handler+0x31/0xf0 [kvm_amd]
   svm_handle_exit+0xf6/0x1d0 [kvm_amd]
   vcpu_enter_guest+0xb6d/0xee0 [kvm]
   ? kvm_pmu_trigger_event+0x6d/0x230 [kvm]
   vcpu_run+0x65/0x2c0 [kvm]
   kvm_arch_vcpu_ioctl_run+0x355/0x610 [kvm]
   kvm_vcpu_ioctl+0x551/0x610 [kvm]
   __se_sys_ioctl+0x77/0xc0
   __x64_sys_ioctl+0x1d/0x20
   do_syscall_64+0x44/0xa0
   entry_SYSCALL_64_after_hwframe+0x46/0xb0
   </TASK>
  ---[ end trace 0000000000000000 ]---
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 5%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
4.9.202 ≤
𝑥
< 4.10
linuxlinux_kernel
4.14.154 ≤
𝑥
< 4.15
linuxlinux_kernel
4.19.84 ≤
𝑥
< 4.20
linuxlinux_kernel
5.3.11 ≤
𝑥
< 5.4
linuxlinux_kernel
5.4.1 ≤
𝑥
< 5.19.2
linuxlinux_kernel
5.4
linuxlinux_kernel
5.4:rc8
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.137-1
fixed
bookworm (security)
6.1.140-1
fixed
bullseye
vulnerable
bullseye (security)
vulnerable
sid
6.12.32-1
fixed
trixie
6.12.32-1
fixed
trixie (security)
6.12.31-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
linux
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
trusty
needs-triage
xenial
needs-triage
linux-allwinner-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
trusty
needs-triage
xenial
needs-triage
linux-aws-5.0
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-aws-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-aws-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-aws-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-aws-hwe
jammy
dne
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-azure
bionic
ignored
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
trusty
needs-triage
xenial
needs-triage
linux-azure-4.15
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-azure-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-azure-edge
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-fde
focal
ignored
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-azure-fde-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-azure-fde-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-fde-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-azure-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-azure-nvidia
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-bluefield
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-gcp
bionic
ignored
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
xenial
needs-triage
linux-gcp-4.15
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gcp-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-gcp-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-gcp-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-gcp-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-gcp-fips
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-gke
focal
ignored
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-gke-4.15
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gke-5.15
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gke-5.4
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gkeop
focal
ignored
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-gkeop-5.15
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-gkeop-5.4
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-hwe-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-hwe-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-hwe-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-hwe-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-hwe-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-hwe-edge
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
xenial
ignored
linux-ibm
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-ibm-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-ibm-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-intel-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-intel-iot-realtime
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-intel-iotg
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-intel-iotg-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-iot
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-kvm
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
xenial
needs-triage
linux-lowlatency
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
dne
linux-lowlatency-hwe-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-lowlatency-hwe-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-lts-xenial
jammy
dne
noble
dne
oracular
dne
plucky
dne
trusty
needs-triage
linux-nvidia
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-nvidia-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-nvidia-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-nvidia-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-nvidia-lowlatency
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-nvidia-tegra
jammy
needs-triage
noble
needs-triage
oracular
dne
plucky
dne
linux-nvidia-tegra-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-nvidia-tegra-igx
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-oem
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.10
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.14
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-5.17
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-5.6
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oem-6.0
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-6.1
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-6.11
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-oem-6.14
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-oem-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oem-6.8
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-oracle
bionic
needs-triage
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
xenial
needs-triage
linux-oracle-5.0
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.13
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.3
bionic
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-oracle-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-oracle-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-raspi
focal
needs-triage
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
linux-raspi-5.4
bionic
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-raspi-realtime
jammy
dne
noble
needs-triage
oracular
dne
plucky
dne
linux-raspi2
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-realtime
jammy
needs-triage
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
linux-riscv
focal
ignored
jammy
ignored
noble
needs-triage
oracular
needs-triage
plucky
needs-triage
linux-riscv-5.11
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-riscv-5.15
focal
needs-triage
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-riscv-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-riscv-5.8
focal
ignored
jammy
dne
noble
dne
oracular
dne
plucky
dne
linux-riscv-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-riscv-6.8
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne
linux-starfive-5.19
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-starfive-6.2
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-starfive-6.5
jammy
ignored
noble
dne
oracular
dne
plucky
dne
linux-xilinx-zynqmp
focal
needs-triage
jammy
needs-triage
noble
dne
oracular
dne
plucky
dne