vfio/pci: Release the VGA arbiter client on register_device() failure
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 8.8epss 0.1%
exploitation probability
0.1%top 96% of all CVEs
observed exploitation
nono source reports it
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.
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/0f2a35a0c7ea7da347b814750eaa78adf3582381https://git.kernel.org/stable/c/278a5659c391fe5afe5f9ce1bad1fd24e90144f1https://git.kernel.org/stable/c/42d758a09d2c46c42357ecde9a5492f015bde2e5https://git.kernel.org/stable/c/52adb2dff7ce3d8430e2bdc5988b618a430def85https://git.kernel.org/stable/c/8d65decde9afd2bd78bcfffdc0df73b82a0b5509https://git.kernel.org/stable/c/9e0a3f642e607848669235f5069f35640abbfc88https://git.kernel.org/stable/c/daedde7f024ecf88bc8e832ed40cf2c795f0796ahttps://git.kernel.org/stable/c/ef4c38d30b3744e89eb5048218904bb629ea8d47