LiveActive security incident?Get immediate response
CVE Record

CVE-2022-50636: PCI: Fix pci_device_is_present() for VFs by checking PF

In the Linux kernel, the following vulnerability has been resolved: PCI: Fix pci_device_is_present() for VFs by checking PF pci_device_is_present() previously didn't work for VFs because it reads the Vendor and Device ID, which are 0xffff for VFs, which looks like they aren't present. Check the PF instead. Wei Gong reported that if virtio I/O is in progress when the driver is unbound or "0" is written to /sys/.../sriov_numvfs, the virtio I/O operation hangs, which may result in output like this: task:bash state:D stack: 0 pid: 1773 ppid: 1241 flags:0x00004002 Call Trace: schedule+0x4f/0xc0 blk_mq_freeze_queue_wait+0x69/0xa0 blk_mq_freeze_queue+0x1b/0x20 blk_cleanup_queue+0x3d/0xd0 virtblk_remove+0x3c/0xb0 [virtio_blk] virtio_dev_remove+0x4b/0x80 ... device_unregister+0x1b/0x60 unregister_virtio_device+0x18/0x30 virtio_pci_remove+0x41/0x80 pci_device_remove+0x3e/0xb0 This happened because pci_device_is_present(VF) returned "false" in virtio_pci_remove(), so it called virtio_break_device(). The broken vq meant that vring_interrupt() skipped the vq.callback() that would have completed the virtio I/O operation via virtblk_done(). [bhelgaas: commit log, simplify to always use pci_physfn(), add stable tag]

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

CVE-2022-50636 is a Linux kernel reliability flaw affecting PCI SR-IOV virtual functions. Under specific conditions, virtio disk I/O can hang when a driver is unbound or virtual functions are disabled. The main business risk is availability disruption on hosts using SR-IOV and virtio, not confirmed data theft or remote compromise.

Executive priority

Prioritize for virtualization and infrastructure platforms where SR-IOV is used. Treat as an availability risk that may disrupt workloads during device removal or reconfiguration. It is not currently supported by sources as an internet-facing emergency.

Technical view

The kernel helper pci_device_is_present() misidentified PCI virtual functions as absent because VF Vendor and Device IDs read as 0xffff. In virtio_pci_remove(), this could trigger virtio_break_device(), preventing vring callbacks from completing pending virtio block I/O and leaving tasks stuck in uninterruptible sleep. The fix checks the physical function via pci_physfn().

Likely exposure

Linux systems using PCI SR-IOV virtual functions with virtio devices are the most relevant exposure. The CVE record lists Linux kernel versions including 3.13 through 6.2 as affected, with multiple stable-tree fix commits referenced.

Exploitation context

The source describes a hang when virtio I/O is active during driver unbind or when sriov_numvfs is set to 0. No source states remote exploitation or active exploitation, and CISA KEV status is false in the provided bundle.

Researcher notes

Evidence is limited to the CVE record and Linux stable commits. There is no CVSS, CWE, exploit report, or distribution-specific advisory in the provided sources. The affected-version data appears broad; validate against exact distro kernel backports rather than upstream version numbers alone.

Mitigation direction

  • Update to a vendor kernel that includes the referenced stable fix commits.
  • Check your Linux distribution advisory for backported fixes and supported kernel versions.
  • Avoid disabling SR-IOV VFs during active virtio I/O until patched.
  • Schedule remediation first for virtualization hosts using SR-IOV and virtio block devices.

Validation and detection

  • Inventory Linux kernel versions on hosts using SR-IOV virtual functions.
  • Identify systems with virtio devices attached to PCI virtual functions.
  • Confirm the running kernel includes a vendor backport of the fix.
  • Review maintenance logs for hangs during VF removal or driver unbind operations.
Prepared
Confidence
medium
Sources
10

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2022-50636 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
0Timeline events
0ADP providers
9Source links

CVSS and timeline data

No CVSS vectors or timeline events were available in the normalized CVE source material.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux8496e85c20e7836b3dec97780e40f420a3ae2801, 8496e85c20e7836b3dec97780e40f420a3ae2801, 8496e85c20e7836b3dec97780e40f420a3ae2801, 8496e85c20e7836b3dec97780e40f420a3ae2801, 8496e85c20e7836b3dec97780e40f420a3ae2801, 8496e85c20e7836b3dec97780e40f420a3ae2801, 8496e85c20e7836b3dec97780e40f420a3ae2801, 8496e85c20e7836b3dec97780e40f420a3ae2801unaffected
LinuxLinux3.13, 0, 4.14.303, 4.19.270, 5.4.229, 5.10.163, 5.15.87, 6.0.18, 6.1.4, 6.2affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.