Vulnerability · Published Jul 12, 2024 · Assigned by Linux

CVE-2024-40910ax25: Fix refcount imbalance on inbound connections

High 8.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.4% (higher than 39% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)8.8High
Exploit odds (30 days)0.4%top 61.0% 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: ax25: Fix refcount imbalance on inbound connections When releasing a socket in ax25_release(), we call netdev_put() to decrease the refcount on the associated ax.25 device. However, the execution path for accepting an incoming connection never calls netdev_hold(). This imbalance leads to refcount errors, and ultimately to kernel crashes. A typical call trace for the above situation will start with one of the following errors: refcount_t: decrement hit 0; leaking memory. refcount_t: underflow; use-after-free. And will then have a trace like: Call Trace: <TASK> ? show_regs+0x64/0x70 ? __warn+0x83/0x120 ? refcount_warn_saturate+0xb2/0x100 ? report_bug+0x158/0x190 ? prb_read_valid+0x20/0x30 ? handle_bug+0x3e/0x70 ? exc_invalid_op+0x1c/0x70 ? asm_exc_invalid_op+0x1f/0x30 ? refcount_warn_saturate+0xb2/0x100 ? refcount_warn_saturate+0xb2/0x100 ax25_release+0x2ad/0x360 __sock_release+0x35/0xa0 sock_close+0x19/0x20 [...] On reboot (or any attempt to remove the interface), the kernel gets stuck in an infinite loop: unregister_netdevice: waiting for ax0 to become free. Usage count = 0 This patch corrects these issues by ensuring that we call netdev_hold() and ax25_dev_hold() for new connections in ax25_accept(). This makes the logic leading to ax25_accept() match the logic for ax25_bind(): in both cases we increment the refcount, which is ultimately decremented in ax25_release().

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.99-1DSA-5731-1
Debian:12linux6.1.99-1DEBIAN-CVE-2024-40910
Debian:13linux6.9.7-1DEBIAN-CVE-2024-40910
Debian:14linux6.9.7-1DEBIAN-CVE-2024-40910
Ubuntu:22.04:LTSlinux5.15.0-130.140USN-7179-1
Ubuntu:22.04:LTSlinux5.15.0-130.140UBUNTU-CVE-2024-40910
Ubuntu:24.04:LTSlinux6.8.0-44.44UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-aws5.15.0-1076.83UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-aws5.15.0-1076.83USN-7179-2
Ubuntu:24.04:LTSlinux-aws6.8.0-1015.16UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1015.16~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure5.15.0-1078.87USN-7186-2
Ubuntu:22.04:LTSlinux-azure5.15.0-1078.87UBUNTU-CVE-2024-40910
Ubuntu:24.04:LTSlinux-azure6.8.0-1014.16UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1014.16~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1078.87.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gcp5.15.0-1074.83USN-7179-2
Ubuntu:22.04:LTSlinux-gcp5.15.0-1074.83UBUNTU-CVE-2024-40910
Ubuntu:24.04:LTSlinux-gcp6.8.0-1014.16UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1014.16~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gke5.15.0-1072.78UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gke5.15.0-1072.78USN-7179-3
Ubuntu:24.04:LTSlinux-gke6.8.0-1010.13UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1057.64UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1057.64USN-7179-1
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-45.45~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-ibm5.15.0-1067.70UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-ibm5.15.0-1067.70USN-7179-1
Ubuntu:24.04:LTSlinux-ibm6.8.0-1012.12UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1012.12~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1071.77USN-7186-1
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1071.77UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-kvm5.15.0-1071.76USN-7179-1
Ubuntu:22.04:LTSlinux-kvm5.15.0-1071.76UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-128.138UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-128.138USN-7179-1
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-44.44.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-44.44.1~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1070.71UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1070.71USN-7179-2
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1013.14UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1013.14~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1013.14.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1032.32UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1020.20UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:24.04:LTSlinux-oem-6.86.8.0-1012.12UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oracle5.15.0-1073.79UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oracle5.15.0-1073.79USN-7179-2
Ubuntu:24.04:LTSlinux-oracle6.8.0-1012.12UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1012.12~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-raspi5.15.0-1070.73USN-7179-2
Ubuntu:22.04:LTSlinux-raspi5.15.0-1070.73UBUNTU-CVE-2024-40910
Ubuntu:24.04:LTSlinux-raspi6.8.0-1011.12UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-40910
Ubuntu:24.04:LTSlinux-riscv6.8.0-44.44.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-44.44.1~22.04.1UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1041.45UBUNTU-CVE-2024-40910
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1041.45USN-7179-4

Affected products (as reported)

VendorProductVersions
Linux Linux 9fd75b66b8f68498454d685dc4ba13192ae069b0 – before f4df9d6c8d4e4c818252b0419c2165d66eabd4eb9fd75b66b8f68498454d685dc4ba13192ae069b0 – before 52100fd74ad07b53a4666feafff1cd11436362d39fd75b66b8f68498454d685dc4ba13192ae069b0 – before a723a6c8d4831cc8e2c7b0c9f3f0c010d46719649fd75b66b8f68498454d685dc4ba13192ae069b0 – before 3c34fb0bd4a4237592c5ecb5b2e2531900c55774c44a453ffe16eb08acdc6129ac4fa0192dbc0456de55a1338e6a48ff1e41ea8db1432496fbe2a62b9e1e088a57c23251f1cfe9601bbd90ade2ea73b9b20a5ab0f5fb175750c6bafd4cf12daccf00c738
Linux Linux 5.18

References