CVE-2022-49623

EUVD-2022-54609
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.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.1 HIGH
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 1%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
𝑥
< 5.15.56
linuxlinux_kernel
5.16 ≤
𝑥
< 5.18.13
linuxlinux_kernel
5.19:rc1
linuxlinux_kernel
5.19:rc2
linuxlinux_kernel
5.19:rc3
linuxlinux_kernel
5.19:rc4
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.123-1
fixed
bookworm (security)
6.1.128-1
fixed
bullseye
vulnerable
bullseye (security)
vulnerable
sid
6.12.16-1
fixed
trixie
6.12.12-1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
dlm-kmp-default
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
gfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-64kb
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-default
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-default-base
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP3
5.3.18-150300.59.201.1.150300.18.120.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1.150400.24.78.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1.150500.6.47.1
fixed
kernel-default-man
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
kernel-docs
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-macros
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-obs-build
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-preempt
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
kernel-source
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-syms
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
kernel-zfcpdump
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
ocfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.255.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
reiserfs-kmp-default
suse enterprise server 15 SP3
5.3.18-150300.59.201.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.158.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.100.1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
kernel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-abi-stablelists
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-doc
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-debug
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-debug-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-debug-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-debug-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-debug-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-debug-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-64k-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-debug
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-debug-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-debug-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-debug-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-debug-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-debug-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-rt-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-tools
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-tools-libs
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-tools-libs-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-uki-virt-addons
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-zfcpdump
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-zfcpdump-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-zfcpdump-devel
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-zfcpdump-modules
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
kernel-zfcpdump-modules-extra
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
libperf
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
perf
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
python3-perf
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
rtla
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed
rv
RHEL 9
0:5.14.0-611.5.1.el9_7
fixed