Vulnerability · Published May 17, 2024 · Assigned by Linux
CVE-2024-35797mm: cachestat: fix two shmem bugs
High 7.1
In plain English
A high-severity out-of-bounds write 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.7% (higher than 52% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: mm: cachestat: fix two shmem bugs When cachestat on shmem races with swapping and invalidation, there are two possible bugs: 1) A swapin error can have resulted in a poisoned swap entry in the shmem inode's xarray. Calling get_shadow_from_swap_cache() on it will result in an out-of-bounds access to swapper_spaces[]. Validate the entry with non_swap_entry() before going further. 2) When we find a valid swap entry in the shmem's inode, the shadow entry in the swapcache might not exist yet: swap IO is still in progress and we're before __remove_mapping; swapin, invalidation, or swapoff have removed the shadow from swapcache after we saw the shmem swap entry. This will send a NULL to workingset_test_recent(). The latter purely operates on pointer bits, so it won't crash - node 0, memcg ID 0, eviction timestamp 0, etc. are all valid inputs - but it's a bogus test. In theory that could result in a false "recently evicted" count. Such a false positive wouldn't be the end of the world. But for code clarity and (future) robustness, be explicit about this case. Bail on get_shadow_from_swap_cache() returning NULL.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:9 | bpftool | 7.3.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-debug | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-debug-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-debug-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-debug-devel-matched | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-debug-modules | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-debug-modules-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-debug-modules-extra | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-devel-matched | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-modules | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-modules-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-64k-modules-extra | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-abi-stablelists | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-cross-headers | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug-devel-matched | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug-modules | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug-modules-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug-modules-extra | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-debug-uki-virt | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-devel-matched | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-doc | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-headers | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-modules | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-modules-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-modules-extra | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-debug | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-debug-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-debug-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-debug-modules | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-debug-modules-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-debug-modules-extra | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-modules | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-modules-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-rt-modules-extra | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-tools | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-tools-libs | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-tools-libs-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-uki-virt | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-zfcpdump | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-zfcpdump-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-zfcpdump-devel | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-zfcpdump-devel-matched | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-zfcpdump-modules | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-zfcpdump-modules-core | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | kernel-zfcpdump-modules-extra | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | libperf | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | perf | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | python3-perf | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | rtla | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| AlmaLinux:9 | rv | 5.14.0-427.35.1.el9_4 | ALSA-2024:6567 |
| Debian:13 | linux | 6.7.12-1 | DEBIAN-CVE-2024-35797 |
| Debian:14 | linux | 6.7.12-1 | DEBIAN-CVE-2024-35797 |
| Rocky Linux:9 | kernel | 0:5.14.0-427.35.1.el9_4 | RLSA-2024:6567 |
| Rocky Linux:9 | kernel | 0:5.14.0-427.35.1.el9_4.cloud.1.0 | RXSA-2024:6567 |
| Ubuntu:24.04:LTS | linux | 6.8.0-35.35 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-aws | 6.8.0-1009.9 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-azure | 6.8.0-1008.8 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-gcp | 6.8.0-1008.9 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-gke | 6.8.0-1004.7 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-ibm | 6.8.0-1006.6 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-lowlatency | 6.8.0-35.35.1 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 6.8.0-1006.6 | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-oracle | 6.8.0-1006.6 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-raspi | 6.8.0-1005.5 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:24.04:LTS | linux-riscv | 6.8.0-35.35.1 | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2024-35797 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | no fix listed | UBUNTU-CVE-2024-35797 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | cf264e1329fb0307e044f7675849f9f38b44c11a – before b79f9e1ff27c994a4c452235ba09e672ec698e23cf264e1329fb0307e044f7675849f9f38b44c11a – before d962f6c583458037dc7e529659b2b02b9dd3d94bcf264e1329fb0307e044f7675849f9f38b44c11a – before 24a0e73d544439bb9329fbbafac44299e548a677cf264e1329fb0307e044f7675849f9f38b44c11a – before d5d39c707a4cf0bcc84680178677b97aa2cb2627 |
| Linux | Linux | 6.5 |
Weakness: CWE-787 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H