Skip to main content

CVE-2022-49623: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2022-49623cvecve-2022-49623
Published: Wed Feb 26 2025 (02/26/2025, 02:23:39 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: powerpc/xive/spapr: correct bitmap allocation size kasan detects access beyond the end of the xibm->bitmap allocation: BUG: KASAN: slab-out-of-bounds in _find_first_zero_bit+0x40/0x140 Read of size 8 at addr c00000001d1d0118 by task swapper/0/1 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.19.0-rc2-00001-g90df023b36dd #28 Call Trace: [c00000001d98f770] [c0000000012baab8] dump_stack_lvl+0xac/0x108 (unreliable) [c00000001d98f7b0] [c00000000068faac] print_report+0x37c/0x710 [c00000001d98f880] [c0000000006902c0] kasan_report+0x110/0x354 [c00000001d98f950] [c000000000692324] __asan_load8+0xa4/0xe0 [c00000001d98f970] [c0000000011c6ed0] _find_first_zero_bit+0x40/0x140 [c00000001d98f9b0] [c0000000000dbfbc] xive_spapr_get_ipi+0xcc/0x260 [c00000001d98fa70] [c0000000000d6d28] xive_setup_cpu_ipi+0x1e8/0x450 [c00000001d98fb30] [c000000004032a20] pSeries_smp_probe+0x5c/0x118 [c00000001d98fb60] [c000000004018b44] smp_prepare_cpus+0x944/0x9ac [c00000001d98fc90] [c000000004009f9c] kernel_init_freeable+0x2d4/0x640 [c00000001d98fd90] [c0000000000131e8] kernel_init+0x28/0x1d0 [c00000001d98fe10] [c00000000000cd54] ret_from_kernel_thread+0x5c/0x64 Allocated by task 0: kasan_save_stack+0x34/0x70 __kasan_kmalloc+0xb4/0xf0 __kmalloc+0x268/0x540 xive_spapr_init+0x4d0/0x77c pseries_init_irq+0x40/0x27c init_IRQ+0x44/0x84 start_kernel+0x2a4/0x538 start_here_common+0x1c/0x20 The buggy address belongs to the object at c00000001d1d0118 which belongs to the cache kmalloc-8 of size 8 The buggy address is located 0 bytes inside of 8-byte region [c00000001d1d0118, c00000001d1d0120) The buggy address belongs to the physical page: page:c00c000000074740 refcount:1 mapcount:0 mapping:0000000000000000 index:0xc00000001d1d0558 pfn:0x1d1d flags: 0x7ffff000000200(slab|node=0|zone=0|lastcpupid=0x7ffff) raw: 007ffff000000200 c00000001d0003c8 c00000001d0003c8 c00000001d010480 raw: c00000001d1d0558 0000000001e1000a 00000001ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: c00000001d1d0000: fc 00 fc fc fc fc fc fc fc fc fc fc fc fc fc fc c00000001d1d0080: fc fc 00 fc fc fc fc fc fc fc fc fc fc fc fc fc >c00000001d1d0100: fc fc fc 02 fc fc fc fc fc fc fc fc fc fc fc fc ^ c00000001d1d0180: fc fc fc fc 04 fc fc fc fc fc fc fc fc fc fc fc c00000001d1d0200: fc fc fc fc fc 04 fc fc fc fc fc fc fc fc fc fc This happens because the allocation uses the wrong unit (bits) when it should pass (BITS_TO_LONGS(count) * sizeof(long)) or equivalent. With small numbers of bits, the allocated object can be smaller than sizeof(long), which results in invalid accesses. Use bitmap_zalloc() to allocate and initialize the irq bitmap, paired with bitmap_free() for consistency.

AI-Powered Analysis

AILast updated: 06/29/2025, 23:25:53 UTC

Technical Analysis

CVE-2022-49623 is a vulnerability identified in the Linux kernel specifically affecting the powerpc/xive/spapr subsystem. The issue arises from an incorrect bitmap allocation size during the initialization of the interrupt request (IRQ) bitmap. The vulnerability is a slab-out-of-bounds memory access detected by Kernel Address Sanitizer (KASAN), which indicates that the kernel attempts to read beyond the allocated memory boundary of a bitmap object. The root cause is the use of an incorrect unit (bits) for allocation size instead of the correct calculation involving BITS_TO_LONGS(count) multiplied by sizeof(long). This miscalculation can lead to the allocated memory being smaller than required, especially when dealing with small bit counts, resulting in invalid memory accesses. The affected code path involves functions such as _find_first_zero_bit, xive_spapr_get_ipi, and xive_setup_cpu_ipi, which are part of the interrupt controller setup on PowerPC architectures. The vulnerability manifests during kernel initialization and CPU interrupt setup, potentially causing kernel crashes or undefined behavior due to memory corruption. The recommended fix involves using bitmap_zalloc() for allocation and bitmap_free() for deallocation to ensure proper size and initialization of the bitmap. No known exploits are currently reported in the wild, and no CVSS score has been assigned yet.

Potential Impact

For European organizations relying on Linux systems running on PowerPC architectures, particularly those using the xive interrupt controller subsystem (common in IBM Power Systems), this vulnerability could lead to kernel instability or denial of service due to memory corruption during CPU interrupt initialization. While exploitation requires kernel-level access or conditions during system boot or CPU setup, a successful attack or accidental trigger could cause system crashes, impacting availability of critical infrastructure or services. This is particularly relevant for data centers, cloud providers, and enterprises using IBM Power-based servers for high-performance computing or enterprise workloads. Confidentiality and integrity impacts are limited unless combined with other vulnerabilities, but availability degradation could disrupt business operations. Since the flaw occurs during kernel initialization, remote exploitation is unlikely without prior access, but local attackers or malicious insiders could potentially trigger the issue to cause denial of service.

Mitigation Recommendations

European organizations should ensure that their Linux kernel versions are updated to include the patch that corrects the bitmap allocation size in the powerpc/xive/spapr subsystem. Specifically, they should: 1) Apply the latest stable Linux kernel updates from trusted vendors or distributions that address CVE-2022-49623. 2) For custom or embedded Linux builds on PowerPC platforms, review and patch the kernel source code to replace incorrect bitmap allocation with bitmap_zalloc() and bitmap_free() usage as recommended. 3) Conduct thorough testing of kernel updates in staging environments to verify stability and absence of regressions. 4) Monitor kernel logs for KASAN or slab-out-of-bounds warnings that may indicate attempts to trigger this vulnerability. 5) Limit local access to systems running vulnerable kernels to reduce risk of exploitation by unprivileged users. 6) Maintain robust backup and recovery procedures to mitigate potential availability impacts from kernel crashes. These steps go beyond generic advice by focusing on architecture-specific kernel patching and operational controls relevant to PowerPC Linux environments.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2025-02-26T02:21:30.420Z
Cisa Enriched
false
Cvss Version
null
State
PUBLISHED

Threat ID: 682d982cc4522896dcbe464c

Added to database: 5/21/2025, 9:09:00 AM

Last enriched: 6/29/2025, 11:25:53 PM

Last updated: 7/7/2025, 10:14:51 AM

Views: 5

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