CVE-2024-53113
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
02/12/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm: fix NULL pointer dereference in alloc_pages_bulk_noprof<br />
<br />
We triggered a NULL pointer dereference for ac.preferred_zoneref->zone in<br />
alloc_pages_bulk_noprof() when the task is migrated between cpusets.<br />
<br />
When cpuset is enabled, in prepare_alloc_pages(), ac->nodemask may be<br />
&current->mems_allowed. when first_zones_zonelist() is called to find<br />
preferred_zoneref, the ac->nodemask may be modified concurrently if the<br />
task is migrated between different cpusets. Assuming we have 2 NUMA Node,<br />
when traversing Node1 in ac->zonelist, the nodemask is 2, and when<br />
traversing Node2 in ac->zonelist, the nodemask is 1. As a result, the<br />
ac->preferred_zoneref points to NULL zone.<br />
<br />
In alloc_pages_bulk_noprof(), for_each_zone_zonelist_nodemask() finds a<br />
allowable zone and calls zonelist_node_idx(ac.preferred_zoneref), leading<br />
to NULL pointer dereference.<br />
<br />
__alloc_pages_noprof() fixes this issue by checking NULL pointer in commit<br />
ea57485af8f4 ("mm, page_alloc: fix check for NULL preferred_zone") and<br />
commit df76cee6bbeb ("mm, page_alloc: remove redundant checks from alloc<br />
fastpath").<br />
<br />
To fix it, check NULL pointer for preferred_zoneref->zone.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.13 (including) | 6.1.119 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.63 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.11.10 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.12:rc7:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/31502374627ba9ec3e710dbd0bb00457cc6d2c19
- https://git.kernel.org/stable/c/6addb2d9501ec866d7b3a3b4e665307c437e9be2
- https://git.kernel.org/stable/c/8ce41b0f9d77cca074df25afd39b86e2ee3aa68e
- https://git.kernel.org/stable/c/903d896448c2e50e8652aaba529a30d4d1eaa0e5
- https://git.kernel.org/stable/c/d0f16cec79774c3132df006cf771eddd89d08f58
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html



