CVE-2024-49926: Vulnerability in Linux Linux
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 Analysis
Technical Summary
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.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain, Poland, Belgium
CVE-2024-49926: Vulnerability in Linux 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
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.
For access to advanced analysis and higher rate limits, contact root@offseq.com
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
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.