Vulnerability · Published Sep 4, 2024 · Assigned by Linux

CVE-2024-44964idpf: fix memory leaks and crashes while performing a soft reset

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 13% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)7.8High
Exploit odds (30 days)0.2%top 86.5% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: idpf: fix memory leaks and crashes while performing a soft reset The second tagged commit introduced a UAF, as it removed restoring q_vector->vport pointers after reinitializating the structures. This is due to that all queue allocation functions are performed here with the new temporary vport structure and those functions rewrite the backpointers to the vport. Then, this new struct is freed and the pointers start leading to nowhere. But generally speaking, the current logic is very fragile. It claims to be more reliable when the system is low on memory, but in fact, it consumes two times more memory as at the moment of running this function, there are two vports allocated with their queues and vectors. Moreover, it claims to prevent the driver from running into "bad state", but in fact, any error during the rebuild leaves the old vport in the partially allocated state. Finally, if the interface is down when the function is called, it always allocates a new queue set, but when the user decides to enable the interface later on, vport_open() allocates them once again, IOW there's a clear memory leak here. Just don't allocate a new queue set when performing a reset, that solves crashes and memory leaks. Readd the old queue number and reopen the interface on rollback - that solves limbo states when the device is left disabled and/or without HW queues enabled.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:13linux6.10.6-1DEBIAN-CVE-2024-44964
Debian:14linux6.10.6-1DEBIAN-CVE-2024-44964
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-gcp5.15.0-1083.92UBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-gcp5.15.0-1083.92USN-7511-1
Ubuntu:24.04:LTSlinux-gcp6.8.0-1030.32UBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-gcp6.8.0-1030.32USN-7515-2
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1030.32~22.04.1UBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1030.32~22.04.1USN-7515-2
Ubuntu:22.04:LTSlinux-gke5.15.0-1081.87USN-7511-3
Ubuntu:22.04:LTSlinux-gke5.15.0-1081.87UBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-gke6.8.0-1025.29USN-7515-1
Ubuntu:24.04:LTSlinux-gke6.8.0-1025.29UBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1012.14USN-7515-2
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1012.14UBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1035.38UBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1035.38USN-8781-1
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2024-44964
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2024-44964
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2024-44964

Affected products (as reported)

VendorProductVersions
Linux Linux 02cbfba1add5bd9088c7d14c6b93b77a6ea8f3bb – before 6b289f8d91537ec1e4f9c7b38b31b90d93b1419b02cbfba1add5bd9088c7d14c6b93b77a6ea8f3bb – before f01032a2ca099ec8d619aaa916c3762aa62495df
Linux Linux 6.7

References