{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-53322","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-06-09T07:44:35.398Z","datePublished":"2026-06-26T19:41:13.245Z","dateUpdated":"2026-08-28T12:04:17.735Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T12:35:00.244Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nvfio/pci: Clean up DMABUFs before disabling function\n\nOn device shutdown, make vfio_pci_core_close_device() call\nvfio_pci_dma_buf_cleanup() before the function is disabled via\nvfio_pci_core_disable().  This ensures that all access via DMABUFs is\nrevoked before the function's BARs become inaccessible.\n\nThis fixes an issue where, if the function is disabled first, a tiny\nwindow exists in which the function's MSE is cleared and yet BARs\ncould still be accessed via the DMABUF.  The resources would also be\nfreed and up for grabs by a different driver."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable path is reached through local VFIO device file operations and ioctls, specifically exporting a VFIO PCI BAR DMA-BUF and then closing the VFIO device fd. It is not reachable by network packets or adjacent/physical-only input.\nAC:L - The attacker can set up the DMA-BUF/IOMMUFD mapping before triggering last-close, and the vulnerable cleanup ordering is deterministic. The P2P-capable VFIO/IOMMUFD environment is inherent to the affected feature rather than an uncontrollable exploitation condition.\nPR:L - The attacker needs local access to an assigned VFIO PCI device and IOMMUFD/VFIO file descriptors, but normal IOMMU-backed VFIO access does not require real root once the device node is delegated. This is privileged device access, but not necessarily administrator-level privilege.\nUI:N - No separate victim action is required after the attacker has the VFIO device fd. The attacker can export the DMA-BUF and trigger teardown by closing the fd.\nS:C - The bug can retain DMA-BUF access to PCI BAR MMIO after VFIO has disabled/released the function and potentially after resources are reassigned, crossing the VFIO/IOMMU device-ownership boundary. This is a DMA/IOMMU isolation bypass scenario.\nC:H - Stale peer-DMA access to MMIO BAR ranges can expose device registers or newly reclaimed MMIO resources outside the attacker's assigned VFIO device. In a severe reasonable deployment such as GPU, NIC, NVMe, or accelerator passthrough, this can disclose sensitive host, device, or guest data.\nI:H - The retained DMA-BUF mapping can allow unauthorized writes to MMIO registers or resources that should have been revoked, potentially programming device state or DMA behavior outside the attacker's ownership. That supports high integrity impact across the device isolation boundary.\nA:H - Accessing BAR MMIO after memory space is disabled or while resources are being reclaimed can crash or wedge devices and can trigger serious platform errors on sensitive systems. Repeated local triggering can therefore cause high availability impact."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/vfio/pci/vfio_pci_core.c"],"versions":[{"version":"5d74781ebc86c5fa9e9d6934024c505412de9b52","lessThan":"4f1000a30f67cf7d328059242776a858611d5ef9","status":"affected","versionType":"git"},{"version":"5d74781ebc86c5fa9e9d6934024c505412de9b52","lessThan":"d97708701434ce72968e771976aaf9d3438fcafd","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/vfio/pci/vfio_pci_core.c"],"versions":[{"version":"6.19","status":"affected"},{"version":"0","lessThan":"6.19","status":"unaffected","versionType":"semver"},{"version":"7.0.10","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.0.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.19","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/4f1000a30f67cf7d328059242776a858611d5ef9"},{"url":"https://git.kernel.org/stable/c/d97708701434ce72968e771976aaf9d3438fcafd"}],"title":"vfio/pci: Clean up DMABUFs before disabling function","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"affected":[{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:10"],"defaultStatus":"affected","packageName":"kernel","product":"Red Hat Enterprise Linux 10","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:6"],"defaultStatus":"unaffected","packageName":"kernel","product":"Red Hat Enterprise Linux 6","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:7"],"defaultStatus":"unaffected","packageName":"kernel","product":"Red Hat Enterprise Linux 7","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:7"],"defaultStatus":"unaffected","packageName":"kernel-rt","product":"Red Hat Enterprise Linux 7","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:8"],"defaultStatus":"unaffected","packageName":"kernel","product":"Red Hat Enterprise Linux 8","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:8"],"defaultStatus":"unaffected","packageName":"kernel-rt","product":"Red Hat Enterprise Linux 8","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:9"],"defaultStatus":"unaffected","packageName":"kernel","product":"Red Hat Enterprise Linux 9","vendor":"Red Hat"},{"collectionURL":"https://access.redhat.com/downloads/content/package-browser/","cpes":["cpe:/o:redhat:enterprise_linux:9"],"defaultStatus":"unaffected","packageName":"kernel-rt","product":"Red Hat Enterprise Linux 9","vendor":"Red Hat"}],"datePublic":"2026-06-26T00:00:00.000Z","descriptions":[{"lang":"en","value":"A flaw was found in the Linux kernel's vfio/pci subsystem. During device shutdown, an improper order of operations in cleaning up Direct Memory Access Buffers (DMABUFs) before disabling the function creates a brief window. In this window, a device's Base Address Registers (BARs) could still be accessed via DMABUFs even after memory space enable (MSE) is cleared. This could potentially allow a different driver to access freed resources, leading to information disclosure or unauthorized resource access."}],"metrics":[{"other":{"content":{"namespace":"https://access.redhat.com/security/updates/classification/","value":"Moderate"},"type":"Red Hat severity rating"}},{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"LOCAL","availabilityImpact":"HIGH","baseScore":7,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"},"format":"CVSS"}],"problemTypes":[{"descriptions":[{"cweId":"CWE-826","description":"Premature Release of Resource During Expected Lifetime","lang":"en","type":"CWE"}]}],"references":[{"tags":["vdb-entry","x_refsource_REDHAT"],"url":"https://access.redhat.com/security/cve/CVE-2026-53322"},{"name":"RHBZ#2493709","tags":["issue-tracking","x_refsource_REDHAT"],"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2493709"},{"tags":["x_sadp-csaf-vex"],"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53322.json"}],"timeline":[{"lang":"en","time":"2026-06-26T00:00:00.000Z","value":"Reported to Red Hat."},{"lang":"en","time":"2026-06-26T00:00:00.000Z","value":"Made public."}],"title":"kernel: vfio/pci: Clean up DMABUFs before disabling function","workarounds":[{"lang":"en","value":"To mitigate this issue, if PCI device passthrough is not required, the `vfio_pci` kernel module can be blacklisted to prevent it from loading. This can be achieved by creating a file such as `/etc/modprobe.d/blacklist-vfio-pci.conf` with the content `blacklist vfio_pci`. A system reboot is required for this change to take effect. Disabling this module may impact functionality that relies on PCI device passthrough."}],"x_adpType":"supplier","x_generator":{"engine":"sadp-cli 1.0.0"},"providerMetadata":{"orgId":"0b0ca135-0b70-47e7-9f44-1890c2a1c46c","shortName":"redhat-SADP","dateUpdated":"2026-08-28T12:04:17.735Z"}}]}}