Skip to main content

CVE-2024-40917: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-40917cvecve-2024-40917
Published: Fri Jul 12 2024 (07/12/2024, 12:25:00 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: memblock: make memblock_set_node() also warn about use of MAX_NUMNODES On an (old) x86 system with SRAT just covering space above 4Gb: ACPI: SRAT: Node 0 PXM 0 [mem 0x100000000-0xfffffffff] hotplug the commit referenced below leads to this NUMA configuration no longer being refused by a CONFIG_NUMA=y kernel (previously NUMA: nodes only cover 6144MB of your 8185MB e820 RAM. Not used. No NUMA configuration found Faking a node at [mem 0x0000000000000000-0x000000027fffffff] was seen in the log directly after the message quoted above), because of memblock_validate_numa_coverage() checking for NUMA_NO_NODE (only). This in turn led to memblock_alloc_range_nid()'s warning about MAX_NUMNODES triggering, followed by a NULL deref in memmap_init() when trying to access node 64's (NODE_SHIFT=6) node data. To compensate said change, make memblock_set_node() warn on and adjust a passed in value of MAX_NUMNODES, just like various other functions already do.

AI-Powered Analysis

AILast updated: 06/29/2025, 02:10:50 UTC

Technical Analysis

CVE-2024-40917 is a vulnerability identified in the Linux kernel related to the handling of NUMA (Non-Uniform Memory Access) node configuration on certain x86 systems with SRAT (System Resource Affinity Table) entries covering memory above 4GB. The issue arises from changes in the kernel's memblock subsystem, specifically in the memblock_set_node() function, which did not properly warn or adjust for the use of MAX_NUMNODES, a constant defining the maximum number of NUMA nodes supported. This leads to a scenario where the kernel accepts a NUMA configuration that it previously would have rejected due to insufficient coverage of physical memory by NUMA nodes. As a result, memblock_alloc_range_nid() triggers warnings about exceeding MAX_NUMNODES, and subsequently, a NULL pointer dereference occurs in memmap_init() when the kernel attempts to access node data for node 64 (based on NODE_SHIFT=6). This NULL dereference can cause a kernel panic or system crash during initialization or memory setup, impacting system stability and availability. The vulnerability affects Linux kernel versions identified by specific commit hashes prior to the fix and is particularly relevant for older x86 systems with specific SRAT configurations. The patch involves modifying memblock_set_node() to warn and adjust the passed-in MAX_NUMNODES value, aligning it with other kernel functions to prevent invalid NUMA node configurations and avoid the NULL dereference.

Potential Impact

For European organizations running Linux on older x86 hardware with NUMA configurations, this vulnerability poses a risk of system crashes or kernel panics during boot or memory initialization phases. Such instability can lead to denial of service conditions, affecting critical infrastructure, servers, or workstations that rely on stable Linux kernel operation. Organizations in sectors such as finance, manufacturing, research, and government that use Linux-based systems with NUMA enabled could experience operational disruptions. Although exploitation requires specific hardware configurations and kernel versions, the impact on availability is significant if triggered. Confidentiality and integrity impacts are minimal since the vulnerability leads to denial of service rather than privilege escalation or data leakage. However, the resulting downtime could indirectly affect business continuity and service delivery.

Mitigation Recommendations

1. Apply the official Linux kernel patches that address CVE-2024-40917 as soon as they become available from trusted Linux distribution vendors or the mainline kernel repository. 2. For organizations using custom or older kernels, backport the patch or upgrade to a kernel version that includes the fix. 3. Audit hardware configurations to identify systems with NUMA enabled and SRAT entries covering memory above 4GB, particularly older x86 systems, to prioritize patching or mitigation. 4. If immediate patching is not feasible, consider disabling NUMA support (CONFIG_NUMA) in the kernel configuration as a temporary workaround, understanding this may impact performance. 5. Implement robust monitoring for kernel panics or memory initialization errors in system logs to detect potential exploitation or triggering of this vulnerability. 6. Coordinate with hardware vendors and Linux distribution maintainers to ensure timely updates and guidance for affected systems. 7. Maintain comprehensive backups and disaster recovery plans to mitigate the impact of unexpected system crashes.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-07-12T12:17:45.581Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9827c4522896dcbe13a4

Added to database: 5/21/2025, 9:08:55 AM

Last enriched: 6/29/2025, 2:10:50 AM

Last updated: 7/28/2025, 7:11:42 PM

Views: 16

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats