Skip to main content

CVE-2024-49926: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-49926cvecve-2024-49926
Published: Mon Oct 21 2024 (10/21/2024, 18:01:50 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: rcu-tasks: Fix access non-existent percpu rtpcp variable in rcu_tasks_need_gpcb() For kernels built with CONFIG_FORCE_NR_CPUS=y, the nr_cpu_ids is defined as NR_CPUS instead of the number of possible cpus, this will cause the following system panic: smpboot: Allowing 4 CPUs, 0 hotplug CPUs ... setup_percpu: NR_CPUS:512 nr_cpumask_bits:512 nr_cpu_ids:512 nr_node_ids:1 ... BUG: unable to handle page fault for address: ffffffff9911c8c8 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 0 PID: 15 Comm: rcu_tasks_trace Tainted: G W 6.6.21 #1 5dc7acf91a5e8e9ac9dcfc35bee0245691283ea6 RIP: 0010:rcu_tasks_need_gpcb+0x25d/0x2c0 RSP: 0018:ffffa371c00a3e60 EFLAGS: 00010082 CR2: ffffffff9911c8c8 CR3: 000000040fa20005 CR4: 00000000001706f0 Call Trace: <TASK> ? __die+0x23/0x80 ? page_fault_oops+0xa4/0x180 ? exc_page_fault+0x152/0x180 ? asm_exc_page_fault+0x26/0x40 ? rcu_tasks_need_gpcb+0x25d/0x2c0 ? __pfx_rcu_tasks_kthread+0x40/0x40 rcu_tasks_one_gp+0x69/0x180 rcu_tasks_kthread+0x94/0xc0 kthread+0xe8/0x140 ? __pfx_kthread+0x40/0x40 ret_from_fork+0x34/0x80 ? __pfx_kthread+0x40/0x40 ret_from_fork_asm+0x1b/0x80 </TASK> Considering that there may be holes in the CPU numbers, use the maximum possible cpu number, instead of nr_cpu_ids, for configuring enqueue and dequeue limits. [ neeraj.upadhyay: Fix htmldocs build error reported by Stephen Rothwell ]

AI-Powered Analysis

AILast updated: 06/28/2025, 21:42:08 UTC

Technical Analysis

CVE-2024-49926 is a vulnerability identified in the Linux kernel related to the handling of CPU identifiers when the kernel is built with the CONFIG_FORCE_NR_CPUS=y configuration option. This option forces the kernel to support a fixed maximum number of CPUs (NR_CPUS), rather than dynamically determining the number of possible CPUs (nr_cpu_ids). The vulnerability arises because nr_cpu_ids is incorrectly defined as NR_CPUS instead of the actual number of possible CPUs, leading to improper handling of per-CPU variables in the rcu_tasks_need_gpcb() function. This misconfiguration can cause the kernel to access non-existent per-CPU variables, resulting in a system panic and a kernel oops (crash). The crash is triggered by a page fault when the kernel attempts to access an invalid memory address associated with the non-existent per-CPU variable. The vulnerability specifically affects the Read-Copy-Update (RCU) subsystem's task handling, which is critical for kernel synchronization and concurrency. The root cause is the assumption that CPU numbering is contiguous and matches NR_CPUS, which is not always true when CPU hotplugging or holes in CPU numbering exist. The fix involves using the maximum possible CPU number instead of nr_cpu_ids to configure enqueue and dequeue limits, preventing out-of-bounds access. This vulnerability can cause denial of service (DoS) through kernel panic, affecting system availability. No known exploits are reported in the wild as of the publication date. The vulnerability affects Linux kernel versions built with the specified configuration, which may be present in certain custom or enterprise Linux distributions. No CVSS score has been assigned yet.

Potential Impact

For European organizations, the primary impact of CVE-2024-49926 is the potential for denial of service due to kernel panics on affected Linux systems. This can disrupt critical infrastructure, enterprise servers, cloud environments, and embedded systems running Linux kernels compiled with CONFIG_FORCE_NR_CPUS=y. Such panics can lead to unexpected system reboots or downtime, affecting availability of services and potentially causing operational disruptions. Organizations relying on high-availability Linux servers, especially those using customized kernels or large-scale multi-CPU systems, may experience instability or outages. While this vulnerability does not directly compromise confidentiality or integrity, the loss of availability can have cascading effects on business operations, data processing, and service delivery. Given the widespread use of Linux in European data centers, cloud providers, and industrial control systems, unpatched systems could face increased risk of service interruptions. The absence of known exploits reduces immediate risk, but the vulnerability should be addressed promptly to avoid accidental or targeted triggering of kernel panics.

Mitigation Recommendations

1. Identify Linux systems compiled with CONFIG_FORCE_NR_CPUS=y, particularly those running kernels with large NR_CPUS values or customized builds. 2. Apply the official Linux kernel patches that fix the rcu_tasks_need_gpcb() function to correctly handle CPU numbering and prevent invalid memory access. 3. For distributions that do not provide immediate patches, consider recompiling the kernel without CONFIG_FORCE_NR_CPUS=y or with updated kernel sources that include the fix. 4. Implement robust monitoring of kernel logs and system stability to detect early signs of kernel panics related to this issue. 5. In virtualized or cloud environments, ensure hypervisor and guest kernel configurations avoid forced CPU counts that could trigger this vulnerability. 6. Test kernel updates in staging environments before deployment to production to verify stability and compatibility. 7. Maintain an inventory of Linux kernel versions and configurations across the organization to prioritize patching efforts. 8. Collaborate with Linux distribution vendors for timely updates and advisories related to this vulnerability.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-10-21T12:17:06.038Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9826c4522896dcbe0a0e

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

Last enriched: 6/28/2025, 9:42:08 PM

Last updated: 8/12/2025, 12:19:57 AM

Views: 14

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