In the Linux kernel, the following vulnerability has been resolved:
vfio/pci: Properly hide first-in-list PCIe extended capability
There are cases where a PCIe extended capability should be hidden from the user. For example, an unknown capability (i.e., capability with ID greater than PCI_EXT_CAP_ID_MAX) or a capability that is intentionally chosen to be hidden from the user.
Hiding a capability is done by virtualizing and modifying the 'Next Capability Offset' field of the previous capability so it points to the capability after the one that should be hidden.
The special case where the first capability in the list should be hidden is handled differently because there is no previous capability that can be modified. In this case, the capability ID and version are zeroed while leaving the next pointer intact. This hides the capability and leaves an anchor for the rest of the capability list.
However, today, hiding the first capability in the list is not done properly if the capability is unknown, as struct vfio_pci_core_device->pci_config_map is set to the capability ID during initialization but the capability ID is not properly checked later when used in vfio_config_do_rw(). This leads to the following warning [1] and to an out-of-bounds access to ecap_perms array.
Fix it by checking cap_id in vfio_config_do_rw(), and if it is greater than PCI_EXT_CAP_ID_MAX, use an alternative struct perm_bits for direct read only access instead of the ecap_perms array.
Note that this is safe since the above is the only case where cap_id can exceed PCI_EXT_CAP_ID_MAX (except for the special capabilities, which are already checked before).
[1]
WARNING: CPU: 118 PID: 5329 at drivers/vfio/pci/vfio_pci_config.c:1900 vfio_pci_config_rw+0x395/0x430 [vfio_pci_core] CPU: 118 UID: 0 PID: 5329 Comm: simx-qemu-syste Not tainted 6.12.0+ #1 (snip) Call Trace: <TASK> ? show_regs+0x69/0x80 ? __warn+0x8d/0x140 ? vfio_pci_config_rw+0x395/0x430 [vfio_pci_core] ? report_bug+0x18f/0x1a0 ? handle_bug+0x63/0xa0 ? exc_invalid_op+0x19/0x70 ? asm_exc_invalid_op+0x1b/0x20 ? vfio_pci_config_rw+0x395/0x430 [vfio_pci_core] ? vfio_pci_config_rw+0x244/0x430 [vfio_pci_core] vfio_pci_rw+0x101/0x1b0 [vfio_pci_core] vfio_pci_core_read+0x1d/0x30 [vfio_pci_core] vfio_device_fops_read+0x27/0x40 [vfio] vfs_read+0xbd/0x340 ? vfio_device_fops_unl_ioctl+0xbb/0x740 [vfio] ? __rseq_handle_notify_resume+0xa4/0x4b0 __x64_sys_pread64+0x96/0xc0 x64_sys_call+0x1c3d/0x20d0 do_syscall_64+0x4d/0x120 entry_SYSCALL_64_after_hwframe+0x76/0x7e
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-livepatch-5.10.233-223.887Upgrade kernel-toolsUpgrade python-perf-debuginfoUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade bpftoolUpgrade python-perfUpgrade kernelUpgrade kernel-livepatch-5.15.176-118.170 | Mar 14, 2025 | Dec 27, 2024 |
| Amazon_linux_2023 | — | Upgrade python3-perfUpgrade kernel-tools-debuginfoUpgrade perfUpgrade kernel-debuginfoUpgrade kernel-livepatch-6.1.124-134.200Upgrade kernel-libbpfUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade kernel-libbpf-develUpgrade kernel-modules-extra-commonUpgrade bpftoolUpgrade kernel-toolsUpgrade python3-perf-debuginfoUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-devel | Mar 27, 2025 | Dec 27, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jan 13, 2025 | Dec 27, 2024 |
| Dell Powerstore Dsa2025223 | — | Upgrade Dell PowerStoreOS to the latest version | Jan 13, 2026 | May 27, 2025 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-tools-libsUpgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade kernel-abi-stablelists | Mar 18, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | Apr 11, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-tools-libsUpgrade bpftoolUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools | Mar 19, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp13 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perf | Apr 1, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade kernel-tools-libs | Mar 18, 2025 | Dec 27, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Feb 11, 2025 | Dec 27, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Dec 27, 2024 |
| Ubuntu | — | Upgrade linux-image-oem-22.04dUpgrade linux-image-genericUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-aws-lts-20.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-azure-fipsUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-gkeopUpgrade linux-image-raspiUpgrade linux-image-azure-lts-24.04Upgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-6.11.0-1009-awsUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-oem-22.04cUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-6.8.0-58-genericUpgrade linux-image-gkeop-5.15Upgrade linux-image-azureUpgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-oracle-64kUpgrade linux-image-oemUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-6.8.0-1026-oemUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-azure-fdeUpgrade linux-image-nvidiaUpgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-intelUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-kvmUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-lowlatencyUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-nvidia-tegraUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1086-azureUpgrade linux-image-nvidia-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-6.11.0-18-genericUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-ibmUpgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-generic-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-oem-22.04aUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.4.0-1048-iotUpgrade linux-image-5.15.0-136-genericUpgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1027-azureUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-gkeUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-oracleUpgrade linux-image-virtualUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-oem-24.04bUpgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-raspi-nolpaeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-gkeop-6.8Upgrade linux-image-gke-5.15Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-oem-20.04dUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-gcpUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-awsUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-oem-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-oem-osp1Upgrade linux-image-oem-20.04Upgrade linux-image-generic-lpaeUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-intel-iotgUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.8.0-1027-awsUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-raspi-realtimeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-fipsUpgrade linux-image-azure-lts-20.04Upgrade linux-image-raspi2Upgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-gcp-lts-20.04 | Feb 20, 2025 | Dec 27, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 13, 2025 | Dec 27, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub