CVE-2024-53113

mm: fix NULL pointer dereference in alloc_pages_bulk_noprof

State
Published
Severity
Not scored
Published
Dec 2, 2024
Updated
May 11, 2026
Reserved
Nov 19, 2024

Read the record on cve.org

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 &current->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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 387ba26fb1cb9be9e35dc14a6d97188e916eda05 to before 903d896448c2e50e8652aaba529a30d4d1eaa0e5Affected
  • 387ba26fb1cb9be9e35dc14a6d97188e916eda05 to before 6addb2d9501ec866d7b3a3b4e665307c437e9be2Affected
  • 387ba26fb1cb9be9e35dc14a6d97188e916eda05 to before d0f16cec79774c3132df006cf771eddd89d08f58Affected
  • 387ba26fb1cb9be9e35dc14a6d97188e916eda05 to before 31502374627ba9ec3e710dbd0bb00457cc6d2c19Affected
  • 387ba26fb1cb9be9e35dc14a6d97188e916eda05 to before 8ce41b0f9d77cca074df25afd39b86e2ee3aa68eAffected
LinuxLinux
  • 5.13Affected
  • before 5.13Not affected
  • 5.15.174 through 5.15.*Not affected
  • 6.1.119 through 6.1.*Not affected
  • 6.6.63 through 6.6.*Not affected
  • 6.11.10 through 6.11.*Not affected
  • 6.12 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.