CVE-2026-64475: vfio/pci: Release the VGA arbiter client on register_device() failure

Greg Kroah-Hartman <[email protected]> Sat, 25 Jul 2026 10:51:32 +0200
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026072546-CVE-2026-64475-8842@gregkh>
From: Greg Kroah-Hartman <[email protected]>

Description
===========

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

vfio/pci: Release the VGA arbiter client on register_device() failure

The re-order in the Fixes commit below displaced vfio_pci_vga_init() as
the last failure point of what is now vfio_pci_core_register_device()
without introducing an unwind for the VGA arbiter registration.

In current kernels this is mostly benign because vfio_pci_set_decode()
only uses pci_dev state, but the original failure path could leave a
callback with a freed vdev cookie.  The stale registration also becomes
unsafe again once the callback follows drvdata to the vfio device.

Add the required VGA unwind callout.

The Linux kernel CVE team has assigned CVE-2026-64475 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.10.37 with commit 87856f9af04eaacf9848710625a4ffee1d020fa9 and fixed in 5.10.261 with commit 0f2a35a0c7ea7da347b814750eaa78adf3582381
	Issue introduced in 5.13 with commit 4aeec3984ddc853f7c65903bde472ffdef738bae and fixed in 5.15.212 with commit 8d65decde9afd2bd78bcfffdc0df73b82a0b5509
	Issue introduced in 5.13 with commit 4aeec3984ddc853f7c65903bde472ffdef738bae and fixed in 6.1.178 with commit ef4c38d30b3744e89eb5048218904bb629ea8d47
	Issue introduced in 5.13 with commit 4aeec3984ddc853f7c65903bde472ffdef738bae and fixed in 6.6.145 with commit 9e0a3f642e607848669235f5069f35640abbfc88
	Issue introduced in 5.13 with commit 4aeec3984ddc853f7c65903bde472ffdef738bae and fixed in 6.12.96 with commit 42d758a09d2c46c42357ecde9a5492f015bde2e5
	Issue introduced in 5.13 with commit 4aeec3984ddc853f7c65903bde472ffdef738bae and fixed in 6.18.39 with commit 52adb2dff7ce3d8430e2bdc5988b618a430def85
	Issue introduced in 5.13 with commit 4aeec3984ddc853f7c65903bde472ffdef738bae and fixed in 7.1.4 with commit 278a5659c391fe5afe5f9ce1bad1fd24e90144f1
	Issue introduced in 5.13 with commit 4aeec3984ddc853f7c65903bde472ffdef738bae and fixed in 7.2-rc2 with commit daedde7f024ecf88bc8e832ed40cf2c795f0796a
	Issue introduced in 5.11.21 with commit d62dccb417cf972c978bf3c68a7d5e846bcf953e
	Issue introduced in 5.12.4 with commit 6694b8daffac5a8661071f085608afc78f7acd08

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64475
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/vfio/pci/vfio_pci_core.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/0f2a35a0c7ea7da347b814750eaa78adf3582381
	https://git.kernel.org/stable/c/8d65decde9afd2bd78bcfffdc0df73b82a0b5509
	https://git.kernel.org/stable/c/ef4c38d30b3744e89eb5048218904bb629ea8d47
	https://git.kernel.org/stable/c/9e0a3f642e607848669235f5069f35640abbfc88
	https://git.kernel.org/stable/c/42d758a09d2c46c42357ecde9a5492f015bde2e5
	https://git.kernel.org/stable/c/52adb2dff7ce3d8430e2bdc5988b618a430def85
	https://git.kernel.org/stable/c/278a5659c391fe5afe5f9ce1bad1fd24e90144f1
	https://git.kernel.org/stable/c/daedde7f024ecf88bc8e832ed40cf2c795f0796a