Cloudanix VulnDB

CVE-2024-53113

Medium · 5.5

CVSS

5.5

EPSS

0.2%

Published

Dec 2, 2024

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in the Linux kernel's memory handling can cause the system to crash when tasks move between certain processor groups on multi-processor machines.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

NULL pointer dereference in alloc_pages_bulk_noprof() when ac.preferred_zoneref->zone becomes NULL due to concurrent nodemask modification during cpuset migration in prepare_alloc_pages() and first_zones_zonelist().

Why it matters to the business

Local denial of service causing kernel crashes or system instability on affected Linux systems, especially those using cpusets or NUMA configurations; no remote code execution or data loss risk.

How an attack unfolds

An attacker with local access triggers repeated task migration between cpusets while memory allocation code runs, causing the nodemask to change mid-traversal of the zonelist so that preferred_zoneref points to a NULL zone; subsequent calls in for_each_zone_zonelist_nodemask() then dereference the NULL pointer.

How to fix it

Update the Linux kernel to commit 903d896448c2e50e8652aaba529a30d4d1eaa0e5 or later; apply the equivalent fix present in stable releases that backport the NULL check for preferred_zoneref->zone.

How to confirm the fix worked

Verify the running kernel contains the NULL-pointer check in alloc_pages_bulk_noprof() and prepare_alloc_pages(); confirm no oops involving preferred_zoneref or alloc_pages_bulk after applying the update.

Typical attack path

  1. Obtain local code execution on a target system with cpusets enabled
  2. Trigger concurrent cpuset migration for the allocating task
  3. Force memory allocation paths that invoke alloc_pages_bulk_noprof()
  4. Induce NULL dereference leading to kernel panic or oops

How to detect it

Search kernel logs and crash dumps for stack traces containing alloc_pages_bulk_noprof, prepare_alloc_pages, first_zones_zonelist, or NULL pointer dereference messages mentioning preferred_zoneref or zonelist_node_idx.

  • alloc_pages_bulk_noprof
  • preferred_zoneref->zone
  • NULL pointer dereference
  • for_each_zone_zonelist_nodemask

What your security team should do

  • Prioritize kernel updates on all systems using cpusets or NUMA
  • Reboot after applying the fixed kernel package
  • Monitor for kernel oops reports referencing alloc_pages_bulk_noprof until patched
  • Review cpuset usage and consider disabling if not required on high-risk hosts

The record

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.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:9 bpftool 0 7.4.0-503.31.1.el9_5
AlmaLinux:9 kernel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-debug 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-debug-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-debug-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-debug-devel-matched 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-debug-modules 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-debug-modules-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-debug-modules-extra 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-devel-matched 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-modules 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-modules-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-64k-modules-extra 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-abi-stablelists 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-cross-headers 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug-devel-matched 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug-modules 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug-modules-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug-modules-extra 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-debug-uki-virt 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-devel-matched 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-doc 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-headers 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-modules 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-modules-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-modules-extra 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-debug 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-debug-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-debug-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-debug-kvm 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-debug-modules 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-debug-modules-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-debug-modules-extra 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-kvm 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-modules 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-modules-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-rt-modules-extra 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-tools 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-tools-libs 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-tools-libs-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-uki-virt 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-uki-virt-addons 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-zfcpdump 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-zfcpdump-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-zfcpdump-devel 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-zfcpdump-devel-matched 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-zfcpdump-modules 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-zfcpdump-modules-core 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 kernel-zfcpdump-modules-extra 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 libperf 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 perf 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 python3-perf 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 rtla 0 5.14.0-503.31.1.el9_5
AlmaLinux:9 rv 0 5.14.0-503.31.1.el9_5
Debian:11 linux-6.1 0 6.1.119-1~deb11u1
Debian:12 linux 0 6.1.119-1
Debian:13 linux 0 6.11.10-1
Linux Kernel 5.13.0 5.15.174
Mageia:9 dwarves 0 1.28-1.mga9
Mageia:9 kernel 0 6.6.65-2.mga9
Mageia:9 kernel-linus 0 6.6.65-1.mga9
Mageia:9 kmod-virtualbox 0 7.0.20-61.mga9
Mageia:9 kmod-xtables-addons 0 3.24-69.mga9
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-64kb 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-default 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-default-base 0 5.14.21-150500.55.91.1.150500.6.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-docs 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-obs-build 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-source 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS kernel-syms 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-64kb 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-default 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-default-base 0 5.14.21-150500.55.91.1.150500.6.41.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-docs 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-obs-build 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-source 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS kernel-syms 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-default 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_22 0 1-150500.11.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_7 0 1-150600.1.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_7 0 1-150600.13.3.1
SUSE:Linux Enterprise Micro 5.5 kernel-default 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Micro 5.5 kernel-default-base 0 5.14.21-150500.55.91.1.150500.6.41.1
SUSE:Linux Enterprise Micro 5.5 kernel-rt 0 5.14.21-150500.13.82.1
SUSE:Linux Enterprise Micro 5.5 kernel-source-rt 0 5.14.21-150500.13.82.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.33.1.150600.12.14.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.12.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.12.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.12.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.12.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.33.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.23.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.23.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.23.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-64kb 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-default 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-default-base 0 5.14.21-150500.55.91.1.150500.6.41.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-docs 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-obs-build 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-source 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-syms 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server 15 SP5-LTSS kernel-zfcpdump 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-default 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-default-base 0 5.14.21-150500.55.91.1.150500.6.41.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-docs 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-obs-build 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-source 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 kernel-syms 0 5.14.21-150500.55.91.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.33.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.23.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.23.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.23.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.23.1
Ubuntu:14.04:LTS linux 0 3.11.0-12.19
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-azure 0 4.15.0-1023.24~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-13.29~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-2.16
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1001.10
Ubuntu:16.04:LTS linux-aws-hwe 0 4.15.0-1030.31~16.04.1
Ubuntu:16.04:LTS linux-azure 0 4.11.0-1009.9
Ubuntu:16.04:LTS linux-gcp 0 4.10.0-1004.4
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-39.42~16.04.1
Ubuntu:16.04:LTS linux-hwe-edge 0 No fix
Ubuntu:16.04:LTS linux-kvm 0 4.4.0-1004.9
Ubuntu:16.04:LTS linux-oracle 0 4.15.0-1007.9~16.04.1
Ubuntu:18.04:LTS linux 0 4.13.0-16.19
Ubuntu:18.04:LTS linux-aws 0 4.15.0-1001.1
Ubuntu:18.04:LTS linux-aws-5.0 0 No fix
Ubuntu:18.04:LTS linux-aws-5.3 0 No fix
Ubuntu:18.04:LTS linux-aws-5.4 0 5.4.0-1018.18~18.04.1
Ubuntu:18.04:LTS linux-azure 0 No fix
Ubuntu:18.04:LTS linux-azure-4.15 0 4.15.0-1082.92
Ubuntu:18.04:LTS linux-azure-5.3 0 No fix
Ubuntu:18.04:LTS linux-azure-5.4 0 5.4.0-1020.20~18.04.1
Ubuntu:18.04:LTS linux-azure-edge 0 No fix
Ubuntu:18.04:LTS linux-gcp 0 No fix
Ubuntu:18.04:LTS linux-gcp-4.15 0 4.15.0-1071.81
Ubuntu:18.04:LTS linux-gcp-5.3 0 No fix
Ubuntu:18.04:LTS linux-gcp-5.4 0 5.4.0-1019.19~18.04.2
Ubuntu:18.04:LTS linux-gke-4.15 0 No fix
Ubuntu:18.04:LTS linux-gke-5.4 0 No fix
Ubuntu:18.04:LTS linux-gkeop-5.4 0 No fix
Ubuntu:18.04:LTS linux-hwe 0 No fix
Ubuntu:18.04:LTS linux-hwe-5.4 0 5.4.0-37.41~18.04.1
Ubuntu:18.04:LTS linux-hwe-edge 0 5.0.0-15.16~18.04.1
Ubuntu:18.04:LTS linux-ibm-5.4 0 5.4.0-1010.11~18.04.2
Ubuntu:18.04:LTS linux-kvm 0 4.15.0-1002.2
Ubuntu:18.04:LTS linux-oem 0 No fix
Ubuntu:18.04:LTS linux-oracle 0 4.15.0-1007.9
Ubuntu:18.04:LTS linux-oracle-5.0 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.3 0 No fix
Ubuntu:18.04:LTS linux-oracle-5.4 0 5.4.0-1019.19~18.04.1
Ubuntu:18.04:LTS linux-raspi-5.4 0 5.4.0-1013.13~18.04.1
Ubuntu:20.04:LTS linux 0 5.4.0-9.12
Ubuntu:20.04:LTS linux-aws 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-aws-5.11 0 No fix
Ubuntu:20.04:LTS linux-aws-5.13 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 No fix
Ubuntu:20.04:LTS linux-aws-5.15 0 5.15.0-1080.87~20.04.1
Ubuntu:20.04:LTS linux-aws-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure 0 5.4.0-1006.6
Ubuntu:20.04:LTS linux-azure-5.11 0 No fix
Ubuntu:20.04:LTS linux-azure-5.13 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 No fix
Ubuntu:20.04:LTS linux-azure-5.15 0 5.15.0-1086.95~20.04.1
Ubuntu:20.04:LTS linux-azure-5.8 0 No fix
Ubuntu:20.04:LTS linux-azure-fde 0 No fix
Ubuntu:20.04:LTS linux-azure-fde-5.15 0 No fix
Ubuntu:20.04:LTS linux-bluefield 0 5.4.0-1007.10
Ubuntu:20.04:LTS linux-gcp 0 5.4.0-1005.5
Ubuntu:20.04:LTS linux-gcp-5.11 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.13 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 No fix
Ubuntu:20.04:LTS linux-gcp-5.15 0 5.15.0-1081.90~20.04.1
Ubuntu:20.04:LTS linux-gcp-5.8 0 No fix
Ubuntu:20.04:LTS linux-gke 0 No fix
Ubuntu:20.04:LTS linux-gke-5.15 0 No fix
Ubuntu:20.04:LTS linux-gkeop 0 No fix

Related vulnerabilities