CVE-2024-26328
NoneCVSS
—
EPSS
0.3%
Published
Feb 19, 2024
CISA due date
—
Cloudanix analysis
A coding mistake in a virtualization component can cause virtual hardware to behave incorrectly, so updating the software prevents potential reliability problems.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Theoretical
- Impact
- Denial Of Service
- Component
- Application
- Class
- Other
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
register_vfs in hw/pci/pcie_sriov.c fails to set NumVFs to PCI_SRIOV_TOTAL_VF, causing mishandled interactions with hw/nvme/ctrl.c in affected virtualization code.
Why it matters to the business
Systems may experience unexpected virtual device behavior or instability, increasing operational risk and requiring prompt updates to avoid service disruptions.
How an attack unfolds
An attacker configures SR-IOV virtual functions on a vulnerable instance, triggering the incorrect NumVFs handling during NVMe controller interactions to induce undefined or erroneous device states.
How to fix it
Upgrade cordea/oauth (GIT) to commit ec2e058fc46f04deaf3cb55eca32b3b83c614953 or later; verify the change is present in deployed builds.
How to confirm the fix worked
Confirm the fixed commit is included in the running version and test SR-IOV VF registration with NVMe controllers to ensure NumVFs is set correctly.
Typical attack path
- Identify systems running affected versions
- Gain ability to configure PCI SR-IOV parameters
- Trigger register_vfs path with NVMe device present
- Observe or leverage resulting mishandled VF state
How to detect it
Review system and hypervisor logs for NVMe or PCI SR-IOV initialization errors around VF registration; search for unexpected device state after configuration changes.
What your security team should do
- Apply the referenced commit immediately due to the long window since publication
- Audit all virtualization deployments for the vulnerable code paths
- Monitor for any downstream dependents that may inherit the issue
The record
An issue was discovered in QEMU 7.1.0 through 8.2.1. register_vfs in hw/pci/pcie_sriov.c does not set NumVFs to PCI_SRIOV_TOTAL_VF, and thus interaction with hw/nvme/ctrl.c is mishandled.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:12 | qemu | 0 | 1:7.2+dfsg-7+deb12u6 |
| Debian:13 | qemu | 0 | 1:8.2.3+ds-1 |
| Mageia:9 | qemu | 0 | 7.2.15-1.mga9 |
| SUSE:Linux Enterprise Micro 5.5 | qemu | 0 | 7.1.0-150500.49.12.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | qemu | 0 | 7.1.0-150500.49.12.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP5 | qemu | 0 | 7.1.0-150500.49.12.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP5 | qemu | 0 | 7.1.0-150500.49.12.1 |
| Ubuntu:20.04:LTS | qemu | 0 | No fix |
| Ubuntu:22.04:LTS | qemu | 0 | No fix |
| Ubuntu:24.04:LTS | qemu | 0 | No fix |
| Ubuntu:24.04:LTS | qemu | 0 | 1:8.2.2+ds-0ubuntu1.2 |
| Ubuntu:24.10 | qemu | 0 | 1:9.0.2+ds-4ubuntu2 |
| Ubuntu:Pro:14.04:LTS | qemu | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | qemu | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | qemu | 0 | No fix |
| openSUSE:Leap 15.5 | qemu | 0 | 7.1.0-150500.49.12.1 |
| openSUSE:Tumbleweed | qemu | 0 | 8.2.2-2.1 |
Related vulnerabilities
- CVE-2024-7730 A heap buffer overflow was found in the virtio-snd device in QEMU. Also affects qemu
- CVE-2024-3447 A heap-based buffer overflow was found in the SDHCI device emulation of QEMU. Also affects qemu
- CVE-2024-6519 A use-after-free vulnerability was found in the QEMU LSI53C895A SCSI Host Bus Adapter… Also affects qemu
- CVE-2024-8612 A flaw was found in QEMU, in the virtio-scsi, virtio-blk, and virtio-crypto devices. Also affects qemu
- CVE-2024-8354 A flaw was found in QEMU. Also affects qemu
- CVE-2024-7409 A flaw was found in the QEMU NBD Server. Also affects qemu
- CVE-2024-6505 A flaw was found in the virtio-net device in QEMU. Also affects qemu
- CVE-2024-4467 A flaw was found in the QEMU disk image utility (qemu-img) 'info' command. Also affects qemu