Skip to main content

CVE-2024-26983: Vulnerability in Linux Linux

High
VulnerabilityCVE-2024-26983cvecve-2024-26983
Published: Wed May 01 2024 (05/01/2024, 05:27:15 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: bootconfig: use memblock_free_late to free xbc memory to buddy On the time to free xbc memory in xbc_exit(), memblock may has handed over memory to buddy allocator. So it doesn't make sense to free memory back to memblock. memblock_free() called by xbc_exit() even causes UAF bugs on architectures with CONFIG_ARCH_KEEP_MEMBLOCK disabled like x86. Following KASAN logs shows this case. This patch fixes the xbc memory free problem by calling memblock_free() in early xbc init error rewind path and calling memblock_free_late() in xbc exit path to free memory to buddy allocator. [ 9.410890] ================================================================== [ 9.418962] BUG: KASAN: use-after-free in memblock_isolate_range+0x12d/0x260 [ 9.426850] Read of size 8 at addr ffff88845dd30000 by task swapper/0/1 [ 9.435901] CPU: 9 PID: 1 Comm: swapper/0 Tainted: G U 6.9.0-rc3-00208-g586b5dfb51b9 #5 [ 9.446403] Hardware name: Intel Corporation RPLP LP5 (CPU:RaptorLake)/RPLP LP5 (ID:13), BIOS IRPPN02.01.01.00.00.19.015.D-00000000 Dec 28 2023 [ 9.460789] Call Trace: [ 9.463518] <TASK> [ 9.465859] dump_stack_lvl+0x53/0x70 [ 9.469949] print_report+0xce/0x610 [ 9.473944] ? __virt_addr_valid+0xf5/0x1b0 [ 9.478619] ? memblock_isolate_range+0x12d/0x260 [ 9.483877] kasan_report+0xc6/0x100 [ 9.487870] ? memblock_isolate_range+0x12d/0x260 [ 9.493125] memblock_isolate_range+0x12d/0x260 [ 9.498187] memblock_phys_free+0xb4/0x160 [ 9.502762] ? __pfx_memblock_phys_free+0x10/0x10 [ 9.508021] ? mutex_unlock+0x7e/0xd0 [ 9.512111] ? __pfx_mutex_unlock+0x10/0x10 [ 9.516786] ? kernel_init_freeable+0x2d4/0x430 [ 9.521850] ? __pfx_kernel_init+0x10/0x10 [ 9.526426] xbc_exit+0x17/0x70 [ 9.529935] kernel_init+0x38/0x1e0 [ 9.533829] ? _raw_spin_unlock_irq+0xd/0x30 [ 9.538601] ret_from_fork+0x2c/0x50 [ 9.542596] ? __pfx_kernel_init+0x10/0x10 [ 9.547170] ret_from_fork_asm+0x1a/0x30 [ 9.551552] </TASK> [ 9.555649] The buggy address belongs to the physical page: [ 9.561875] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x1 pfn:0x45dd30 [ 9.570821] flags: 0x200000000000000(node=0|zone=2) [ 9.576271] page_type: 0xffffffff() [ 9.580167] raw: 0200000000000000 ffffea0011774c48 ffffea0012ba1848 0000000000000000 [ 9.588823] raw: 0000000000000001 0000000000000000 00000000ffffffff 0000000000000000 [ 9.597476] page dumped because: kasan: bad access detected [ 9.605362] Memory state around the buggy address: [ 9.610714] ffff88845dd2ff00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 9.618786] ffff88845dd2ff80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 9.626857] >ffff88845dd30000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.634930] ^ [ 9.638534] ffff88845dd30080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.646605] ffff88845dd30100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 9.654675] ==================================================================

AI-Powered Analysis

AILast updated: 06/29/2025, 13:55:55 UTC

Technical Analysis

CVE-2024-26983 is a use-after-free (UAF) vulnerability identified in the Linux kernel's bootconfig (xbc) memory management subsystem. The issue arises during the freeing of xbc memory in the xbc_exit() function. Specifically, the kernel attempts to free memory back to the memblock allocator even after the memory has been handed over to the buddy allocator. On architectures where CONFIG_ARCH_KEEP_MEMBLOCK is disabled (such as x86), this results in a use-after-free condition. The vulnerability is evidenced by Kernel Address Sanitizer (KASAN) logs showing invalid memory access attempts during kernel initialization, leading to potential kernel crashes or undefined behavior. The root cause is improper memory free handling: memblock_free() is incorrectly called in xbc_exit(), causing double-free or use-after-free bugs. The patch corrects this by calling memblock_free() only during early error rewind paths and memblock_free_late() during the xbc exit path, ensuring memory is freed to the buddy allocator correctly and preventing UAF conditions. This vulnerability affects Linux kernel versions prior to the patch and is relevant to systems using the affected kernel code, especially on x86 architectures with CONFIG_ARCH_KEEP_MEMBLOCK disabled. No known exploits are currently reported in the wild, but the vulnerability could be triggered during system boot or kernel initialization phases, potentially leading to system instability or privilege escalation if exploited.

Potential Impact

For European organizations, this vulnerability poses a risk primarily to servers, workstations, and embedded devices running vulnerable Linux kernel versions, especially those using x86 architectures. Exploitation could lead to kernel crashes (denial of service) or potentially privilege escalation if attackers can manipulate kernel memory during boot or initialization. Critical infrastructure, cloud service providers, and enterprises relying on Linux-based systems for operations could experience service disruptions or security breaches. Given the kernel-level nature of the flaw, successful exploitation could compromise system integrity and confidentiality. Although no active exploits are known, the vulnerability's presence in widely deployed Linux kernels means that European organizations using affected distributions or custom kernels must prioritize patching to maintain operational security and compliance with cybersecurity regulations such as NIS2.

Mitigation Recommendations

1. Immediate application of the official Linux kernel patches that address CVE-2024-26983 is essential. Organizations should track vendor advisories for their specific Linux distributions (e.g., Debian, Ubuntu, Red Hat, SUSE) and apply updates promptly. 2. For environments where immediate patching is challenging, consider kernel boot parameter adjustments or disabling affected kernel features if feasible, to reduce exposure. 3. Employ kernel integrity monitoring and runtime security tools that can detect anomalous kernel memory behavior or crashes indicative of exploitation attempts. 4. Conduct thorough testing of kernel updates in staging environments to ensure compatibility and stability before production deployment. 5. Maintain strict access controls and monitoring on systems to detect unauthorized attempts to manipulate kernel memory or reboot systems unexpectedly. 6. For embedded or specialized Linux systems, coordinate with hardware and software vendors to obtain patched kernel versions or mitigations. 7. Incorporate this vulnerability into vulnerability management and incident response plans to ensure rapid detection and remediation.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-02-19T14:20:24.204Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9829c4522896dcbe2fe1

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

Last enriched: 6/29/2025, 1:55:55 PM

Last updated: 7/30/2025, 7:05:17 PM

Views: 10

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