Improper locking in Linux kernel - CVE-2024-40949

 

Improper locking in Linux kernel - CVE-2024-40949

Published: July 13, 2024 / Updated: May 13, 2025


Vulnerability identifier: #VU94263
CSH Severity: Low
CVSS v4 BT: 4.3 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U/U:Clear]
CVE-ID: CVE-2024-40949
CWE-ID: CWE-667
Exploitation vector: Local access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a local user to perform a denial of service (DoS) attack.

The vulnerability exists due to improper locking within the shmem_replace_folio() function in mm/shmem.c, within the __mem_cgroup_uncharge_folios() function in mm/memcontrol.c. A local user can perform a denial of service (DoS) attack.


Affected software

Linux kernel
Ubuntu
openEuler
kernel
kernel-source
kernel-headers
kernel-devel
kernel-debugsource
kernel-debuginfo
kernel-tools
kernel-tools-debuginfo
bpftool-debuginfo
bpftool
kernel-tools-devel
perf
perf-debuginfo
python3-perf
python3-perf-debuginfo
linux-image-virtual-hwe-24.04 (Ubuntu package)
linux-image-virtual (Ubuntu package)
linux-image-kvm (Ubuntu package)
linux-image-generic-hwe-24.04 (Ubuntu package)
linux-image-generic-lpae (Ubuntu package)
linux-image-generic-64k-hwe-24.04 (Ubuntu package)
linux-image-generic-64k (Ubuntu package)
linux-image-generic (Ubuntu package)
linux-image-6.8.0-44-generic-64k (Ubuntu package)
linux-image-6.8.0-44-generic (Ubuntu package)
linux-image-lowlatency (Ubuntu package)
linux-image-lowlatency-64k (Ubuntu package)
linux-image-6.8.0-44-lowlatency-64k (Ubuntu package)
linux-image-6.8.0-44-lowlatency (Ubuntu package)
linux-image-lowlatency-64k-hwe-22.04 (Ubuntu package)
linux-image-lowlatency-hwe-22.04 (Ubuntu package)
linux-image-virtual-hwe-22.04 (Ubuntu package)
linux-image-oem-22.04d (Ubuntu package)
linux-image-oem-22.04c (Ubuntu package)
linux-image-oem-22.04b (Ubuntu package)
linux-image-oem-22.04a (Ubuntu package)
linux-image-oem-22.04 (Ubuntu package)
linux-image-generic-hwe-22.04 (Ubuntu package)
linux-image-generic-64k-hwe-22.04 (Ubuntu package)
linux-image-6.8.0-45-generic-64k (Ubuntu package)
linux-image-6.8.0-45-generic (Ubuntu package)
linux-image-6.8.0-1010-gke (Ubuntu package)
linux-image-gke (Ubuntu package)
linux-image-raspi (Ubuntu package)
linux-image-6.8.0-1011-raspi (Ubuntu package)
linux-image-6.8.0-1012-ibm (Ubuntu package)
linux-image-6.8.0-1012-oem (Ubuntu package)
linux-image-6.8.0-1012-oracle (Ubuntu package)
linux-image-6.8.0-1012-oracle-64k (Ubuntu package)
linux-image-ibm (Ubuntu package)
linux-image-ibm-classic (Ubuntu package)
linux-image-ibm-lts-24.04 (Ubuntu package)
linux-image-oracle (Ubuntu package)
linux-image-oracle-64k (Ubuntu package)
linux-image-nvidia-64k (Ubuntu package)
linux-image-nvidia (Ubuntu package)
linux-image-6.8.0-1013-nvidia-64k (Ubuntu package)
linux-image-6.8.0-1013-nvidia (Ubuntu package)
linux-image-6.8.0-1013-nvidia-lowlatency-64k (Ubuntu package)
linux-image-6.8.0-1013-nvidia-lowlatency (Ubuntu package)
linux-image-nvidia-lowlatency (Ubuntu package)
linux-image-nvidia-lowlatency-64k (Ubuntu package)
linux-image-nvidia-64k-6.8 (Ubuntu package)
linux-image-nvidia-6.8 (Ubuntu package)
linux-image-6.8.0-1014-azure (Ubuntu package)
linux-image-6.8.0-1014-azure-fde (Ubuntu package)
linux-image-azure (Ubuntu package)
linux-image-azure-fde (Ubuntu package)
linux-image-gcp (Ubuntu package)
linux-image-6.8.0-1014-gcp (Ubuntu package)
linux-image-aws (Ubuntu package)
linux-image-6.8.0-1015-aws (Ubuntu package)

How to mitigate CVE-2024-40949

Install update from vendor's website.

Linux kernel - update to 6.10
kernel - update to 6.6.0-76.0.0.69
kernel-source - update to 6.6.0-76.0.0.69
kernel-headers - update to 6.6.0-76.0.0.69
kernel-devel - update to 6.6.0-76.0.0.69
kernel-debugsource - update to 6.6.0-76.0.0.69
kernel-debuginfo - update to 6.6.0-76.0.0.69
kernel-tools - update to 6.6.0-76.0.0.69
kernel-tools-debuginfo - update to 6.6.0-76.0.0.69
bpftool-debuginfo - update to 6.6.0-76.0.0.69
bpftool - update to 6.6.0-76.0.0.69
kernel-tools-devel - update to 6.6.0-76.0.0.69
perf - update to 6.6.0-76.0.0.69
perf-debuginfo - update to 6.6.0-76.0.0.69
python3-perf - update to 6.6.0-76.0.0.69
python3-perf-debuginfo - update to 6.6.0-76.0.0.69
linux-image-virtual-hwe-24.04 (Ubuntu package) - update to 6.8.0-44.44
linux-image-virtual (Ubuntu package) - update to 6.8.0-44.44
linux-image-kvm (Ubuntu package) - update to 6.8.0-44.44
linux-image-generic-hwe-24.04 (Ubuntu package) - update to 6.8.0-44.44
linux-image-generic-lpae (Ubuntu package) - update to 6.8.0-44.44
linux-image-generic-64k-hwe-24.04 (Ubuntu package) - update to 6.8.0-44.44
linux-image-generic-64k (Ubuntu package) - update to 6.8.0-44.44
linux-image-generic (Ubuntu package) - update to 6.8.0-44.44
linux-image-6.8.0-44-generic-64k (Ubuntu package) - update to 6.8.0-44.44
linux-image-6.8.0-44-generic (Ubuntu package) - update to 6.8.0-44.44
linux-image-lowlatency (Ubuntu package) - update to 6.8.0-44.44.1
linux-image-lowlatency-64k (Ubuntu package) - update to 6.8.0-44.44.1
linux-image-6.8.0-44-lowlatency-64k (Ubuntu package) - addressed in versions 6.8.0-44.44.1, 6.8.0-44.44.1~22.04.1
linux-image-6.8.0-44-lowlatency (Ubuntu package) - addressed in versions 6.8.0-44.44.1, 6.8.0-44.44.1~22.04.1
linux-image-lowlatency-64k-hwe-22.04 (Ubuntu package) - update to 6.8.0-44.44.1~22.04.1
linux-image-lowlatency-hwe-22.04 (Ubuntu package) - update to 6.8.0-44.44.1~22.04.1
linux-image-virtual-hwe-22.04 (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-oem-22.04d (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-oem-22.04c (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-oem-22.04b (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-oem-22.04a (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-oem-22.04 (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-generic-hwe-22.04 (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-generic-64k-hwe-22.04 (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-6.8.0-45-generic-64k (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-6.8.0-45-generic (Ubuntu package) - update to 6.8.0-45.45~22.04.1
linux-image-6.8.0-1010-gke (Ubuntu package) - update to 6.8.0-1010.13
linux-image-gke (Ubuntu package) - update to 6.8.0-1010.13
linux-image-raspi (Ubuntu package) - update to 6.8.0-1011.12
linux-image-6.8.0-1011-raspi (Ubuntu package) - update to 6.8.0-1011.12
linux-image-6.8.0-1012-ibm (Ubuntu package) - update to 6.8.0-1012.12
linux-image-6.8.0-1012-oem (Ubuntu package) - update to 6.8.0-1012.12
linux-image-6.8.0-1012-oracle (Ubuntu package) - update to 6.8.0-1012.12
linux-image-6.8.0-1012-oracle-64k (Ubuntu package) - update to 6.8.0-1012.12
linux-image-ibm (Ubuntu package) - update to 6.8.0-1012.12
linux-image-ibm-classic (Ubuntu package) - update to 6.8.0-1012.12
linux-image-ibm-lts-24.04 (Ubuntu package) - update to 6.8.0-1012.12
linux-image-oracle (Ubuntu package) - update to 6.8.0-1012.12
linux-image-oracle-64k (Ubuntu package) - update to 6.8.0-1012.12
linux-image-nvidia-64k (Ubuntu package) - update to 6.8.0-1013.13
linux-image-nvidia (Ubuntu package) - update to 6.8.0-1013.13
linux-image-6.8.0-1013-nvidia-64k (Ubuntu package) - addressed in versions 6.8.0-1013.14, 6.8.0-1013.14~22.04.1
linux-image-6.8.0-1013-nvidia (Ubuntu package) - addressed in versions 6.8.0-1013.14, 6.8.0-1013.14~22.04.1
linux-image-6.8.0-1013-nvidia-lowlatency-64k (Ubuntu package) - update to 6.8.0-1013.14.1
linux-image-6.8.0-1013-nvidia-lowlatency (Ubuntu package) - update to 6.8.0-1013.14.1
linux-image-nvidia-lowlatency (Ubuntu package) - update to 6.8.0-1013.14.1
linux-image-nvidia-lowlatency-64k (Ubuntu package) - update to 6.8.0-1013.14.1
linux-image-nvidia-64k-6.8 (Ubuntu package) - update to 6.8.0-1013.14~22.04.1
linux-image-nvidia-6.8 (Ubuntu package) - update to 6.8.0-1013.14~22.04.1
linux-image-6.8.0-1014-azure (Ubuntu package) - update to 6.8.0-1014.16
linux-image-6.8.0-1014-azure-fde (Ubuntu package) - update to 6.8.0-1014.16
linux-image-azure (Ubuntu package) - update to 6.8.0-1014.16
linux-image-azure-fde (Ubuntu package) - update to 6.8.0-1014.16
linux-image-gcp (Ubuntu package) - update to 6.8.0-1014.16
linux-image-6.8.0-1014-gcp (Ubuntu package) - update to 6.8.0-1014.16
linux-image-aws (Ubuntu package) - update to 6.8.0-1015.16
linux-image-6.8.0-1015-aws (Ubuntu package) - update to 6.8.0-1015.16

External References

Related Security Bulletins