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-develUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade perf-debuginfoUpgrade kernel-livepatch-5.10.233-223.887Upgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade kernel-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.15.176-118.170Upgrade python-perfUpgrade kernel-tools-debuginfoUpgrade bpftool | Mar 14, 2025 | Dec 27, 2024 |
| Amazon_linux_2023 | — | Upgrade python3-perfUpgrade kernel-modules-extraUpgrade kernel-livepatch-6.1.124-134.200Upgrade kernel-libbpfUpgrade kernel-tools-debuginfoUpgrade kernel-tools-develUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade kernel-headersUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-libbpf-develUpgrade kernel-modules-extra-commonUpgrade kernel-libbpf-staticUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-develUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade kernel | 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-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools | Mar 18, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel | Apr 11, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade python3-perf | Mar 19, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp13 | — | Upgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-tools | Apr 1, 2025 | Dec 27, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade 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-azure-cvmUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-136-genericUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-oem-24.04aUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1088-ibmUpgrade 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-osp1Upgrade linux-image-oem-20.04dUpgrade linux-image-oem-20.04Upgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-raspi2Upgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-raspi-realtimeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.4.0-1048-iotUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-virtualUpgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-fipsUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-ibm-classicUpgrade linux-image-bluefieldUpgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-gcpUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-oem-24.04bUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-oem-22.04Upgrade linux-image-realtimeUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1027-azureUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-oracleUpgrade linux-image-awsUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-azure-fipsUpgrade linux-image-intelUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.11.0-1009-azureUpgrade linux-image-nvidiaUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1084-azureUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-lowlatencyUpgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-gkeop-5.15Upgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-oem-22.04cUpgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-oemUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-genericUpgrade linux-image-6.11.0-1009-awsUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.8.0-58-genericUpgrade linux-image-azureUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-ibmUpgrade linux-image-6.11.0-18-genericUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-azure-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1026-oemUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-nvidia-tegraUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-generic-64kUpgrade linux-image-azure-nvidiaUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-aws-fipsUpgrade linux-image-virtual-hwe-22.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