What’s Vulnerable › Vulnerabilities
CVE-2024-35846: mm: zswap: fix shrinker NULL crash with cgroup_disable=memory
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-05-17 · updated 2026-06-17
- Weakness: CWE-476
Description
In the Linux kernel, the following vulnerability has been resolved: mm: zswap: fix shrinker NULL crash with cgroup_disable=memory Christian reports a NULL deref in zswap that he bisected down to the zswap shrinker. The issue also cropped up in the bug trackers of libguestfs [1] and the Red Hat bugzilla [2]. The problem is that when memcg is disabled with the boot time flag, the zswap shrinker might get called with sc->memcg == NULL. This is okay in many places, like the lruvec operations. But it crashes in memcg_page_state() - which is only used due to the non-node accounting of cgroup's the zswap memory to begin with. Nhat spotted that the memcg can be NULL in the memcg-disabled case, and I was then able to reproduce the crash locally as well. [1] https://github.com/libguestfs/libguestfs/issues/139 [2] https://bugzilla.redhat.com/show_bug.cgi?id=2275252
Affected products
- Linux kernel: from 6.8 before 6.8.9; 6.9-rc1, 6.9-rc2, 6.9-rc3, 6.9-rc4, 6.9-rc5 — fixed in 6.8.9
How to fix
Upgrade to a fixed version: Linux kernel 6.8.9. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/682886ec69d22363819a83ddddd5d66cb5c791e1
- https://git.kernel.org/stable/c/b0fdabc908a7f81d12382c87ca9e46a9c2e14042
- https://git.kernel.org/stable/c/682886ec69d22363819a83ddddd5d66cb5c791e1
- https://git.kernel.org/stable/c/b0fdabc908a7f81d12382c87ca9e46a9c2e14042
Get alerted when CVE-2024-35846 or the next vulnerability affects your stack