# CVE-2022-49932: KVM: VMX: Do _all_ initialization before exposing /dev/kvm to userspace

Status: published. Published: 2025-05-02. Updated: 2026-11-05.

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

KVM: VMX: Do _all_ initialization before exposing /dev/kvm to userspace

Call kvm_init() only after _all_ setup is complete, as kvm_init() exposes
/dev/kvm to userspace and thus allows userspace to create VMs (and call
other ioctls).  E.g. KVM will encounter a NULL pointer when attempting to
add a vCPU to the per-CPU loaded_vmcss_on_cpu list if userspace is able to
create a VM before vmx_init() configures said list.

 BUG: kernel NULL pointer dereference, address: 0000000000000008
 #PF: supervisor write access in kernel mode
 #PF: error_code(0x0002) - not-present page
 PGD 0 P4D 0
 Oops: 0002 [#1] SMP
 CPU: 6 PID: 1143 Comm: stable Not tainted 6.0.0-rc7+ #988
 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
 RIP: 0010:vmx_vcpu_load_vmcs+0x68/0x230 [kvm_intel]
  <TASK>
  vmx_vcpu_load+0x16/0x60 [kvm_intel]
  kvm_arch_vcpu_load+0x32/0x1f0 [kvm]
  vcpu_load+0x2f/0x40 [kvm]
  kvm_arch_vcpu_create+0x231/0x310 [kvm]
  kvm_vm_ioctl+0x79f/0xe10 [kvm]
  ? handle_mm_fault+0xb1/0x220
  __x64_sys_ioctl+0x80/0xb0
  do_syscall_64+0x2b/0x50
  entry_SYSCALL_64_after_hwframe+0x46/0xb0
 RIP: 0033:0x7f5a6b05743b
  </TASK>
 Modules linked in: vhost_net vhost vhost_iotlb tap kvm_intel(+) kvm irqbypass

## Remediation

No remediation reported in collected sources

## Affected products and versions

- Linux / Linux: ≥ dbef2808af6c594922fe32833b30f55f35e9da6d; < e136e969d268b9b89329c816c002e53f60e82985 (affected, git); ≥ dbef2808af6c594922fe32833b30f55f35e9da6d; < e28533c08023c4b319b7f2cd77f3f7c9204eb517 (affected, git); ≥ dbef2808af6c594922fe32833b30f55f35e9da6d; < e32b120071ea114efc0b4ddd439547750b85f618 (affected, git); b2f7d0adc1260fa33ff3e992d18ff15873e68a67 (affected, git); 2c0bf2560ca18abe1451db23b8ef8700c67cc44f (affected, git); f9971a898a815c2a6cce2932e91a576b28ed4cce (affected, git); 40888c31aca3a46f266f1f121679f8e1982df085 (affected, git); cd3f438fbb9cb60da32dd2b665f7dc9baba1c4ad (affected, git); e35a2dc8c7f664ae8a9cc46d19985dc79bfc1083 (affected, git); ≥ 4.9.220; < 4.10 (affected, semver); ≥ 4.14.177; < 4.15 (affected, semver); ≥ 4.19.116; < 4.20 (affected, semver); ≥ 5.4.33; < 5.5 (affected, semver); ≥ 5.5.18; < 5.6 (affected, semver); ≥ 5.6.5; < 5.7 (affected, semver). Source: CNA: Linux
- Linux / Linux: 5.7 (affected); ≥ 0; < 5.7 (unaffected, semver); ≥ 6.1.20; ≤ 6.1.* (unaffected, semver); ≥ 6.2.7; ≤ 6.2.* (unaffected, semver); ≥ 6.3; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux

## Severity and prioritization

- CISA KEV: No listing in collected sources

- EPSS: 0.21% as of 2026-11-05; percentile 11.88%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: Not reported

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/e136e969d268b9b89329c816c002e53f60e82985 (CNA: Linux)

- https://git.kernel.org/stable/c/e28533c08023c4b319b7f2cd77f3f7c9204eb517 (CNA: Linux)

- https://git.kernel.org/stable/c/e32b120071ea114efc0b4ddd439547750b85f618 (CNA: Linux)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2022-49932; retrieved 2026-11-05; source updated 2026-11-05

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2022-49932; retrieved 2026-11-05; source updated Not reported

Revision: 8a259ad58465f5f9b7af76189048af53785ffdd5a4be05417b5951bb8df45735

Canonical: https://y2.dev/cve/CVE-2022-49932

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.