CVE-2024-53113 mm: fix NULL pointer dereference in alloc_pages_bulk_noprof
A race condition during cpuset migration causes a NULL pointer dereference in the Linux kernel memory allocator, leading to a system crash.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-53113?
CVE-2024-53113 is a medium-severity vulnerability in Linux kernel, published on 2 Dec 2024. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
mm: fix NULL pointer dereference in alloc_pages_bulk_noprof
We triggered a NULL pointer dereference for ac.preferred_zoneref->zone in alloc_pages_bulk_noprof() when the task is migrated between cpusets.
When cpuset is enabled, in prepare_alloc_pages(), ac->nodemask may be ¤t->mems_allowed. when first_zones_zonelist() is called to find preferred_zoneref, the ac->nodemask may be modified concurrently if the task is migrated between different cpusets. Assuming we have 2 NUMA Node, when traversing Node1 in ac->zonelist, the nodemask is 2, and when traversing Node2 in ac->zonelist, the nodemask is 1. As a result, the ac->preferred_zoneref points to NULL zone.
In alloc_pages_bulk_noprof(), for_each_zone_zonelist_nodemask() finds a allowable zone and calls zonelist_node_idx(ac.preferred_zoneref), leading to NULL pointer dereference.
__alloc_pages_noprof() fixes this issue by checking NULL pointer in commit ea57485af8f4 ("mm, page_alloc: fix check for NULL preferred_zone") and commit df76cee6bbeb ("mm, page_alloc: remove redundant checks from alloc fastpath").
To fix it, check NULL pointer for preferred_zoneref->zone.
Weakness: CWE-476
Which versions are affected by CVE-2024-53113?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2024-53113?
Apply the vendor's patch.
Is CVE-2024-53113 being exploited?
There is no known exploitation of CVE-2024-53113 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-54117, AZL-54188, BELL-CVE-2024-53113, DEBIAN-CVE-2024-53113, GHSA-8x6v-8q4g-xh9f, UBUNTU-CVE-2024-53113.