Lucene search

K
ubuntucveUbuntu.comUB:CVE-2023-52451
HistoryFeb 22, 2024 - 12:00 a.m.

CVE-2023-52451

2024-02-2200:00:00
ubuntu.com
ubuntu.com
14
linux kernel
vulnerability
cve-2023-52451
powerpc
pseries
memhp
access beyond end
drmem array
dlpar_memory_remove_by_index
lmb array
lmb lookup
drc index
kasan
hot-remove memory
slab-out-of-bounds
debug message
pseries-hotplug-mem
failed lookup

CVSS3

7.8

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

AI Score

7.4

Confidence

High

EPSS

0

Percentile

5.1%

In the Linux kernel, the following vulnerability has been resolved:
powerpc/pseries/memhp: Fix access beyond end of drmem array
dlpar_memory_remove_by_index() may access beyond the bounds of the drmem
lmb array when the LMB lookup fails to match an entry with the given DRC
index. When the search fails, the cursor is left pointing to
&drmem_info->lmbs[drmem_info->n_lmbs], which is one element past the last
valid entry in the array. The debug message at the end of the function then
dereferences this pointer: pr_debug(“Failed to hot-remove memory at
%llx\n”, lmb->base_addr); This was found by inspection and confirmed with
KASAN: pseries-hotplug-mem: Attempting to hot-remove LMB, drc index 1234
================================================================== BUG:
KASAN: slab-out-of-bounds in dlpar_memory+0x298/0x1658 Read of size 8 at
addr c000000364e97fd0 by task bash/949 dump_stack_lvl+0xa4/0xfc
(unreliable) print_report+0x214/0x63c kasan_report+0x140/0x2e0
__asan_load8+0xa8/0xe0 dlpar_memory+0x298/0x1658
handle_dlpar_errorlog+0x130/0x1d0 dlpar_store+0x18c/0x3e0
kobj_attr_store+0x68/0xa0 sysfs_kf_write+0xc4/0x110
kernfs_fop_write_iter+0x26c/0x390 vfs_write+0x2d4/0x4e0
ksys_write+0xac/0x1a0 system_call_exception+0x268/0x530
system_call_vectored_common+0x15c/0x2ec Allocated by task 1:
kasan_save_stack+0x48/0x80 kasan_set_track+0x34/0x50
kasan_save_alloc_info+0x34/0x50 __kasan_kmalloc+0xd0/0x120
__kmalloc+0x8c/0x320 kmalloc_array.constprop.0+0x48/0x5c
drmem_init+0x2a0/0x41c do_one_initcall+0xe0/0x5c0
kernel_init_freeable+0x4ec/0x5a0 kernel_init+0x30/0x1e0
ret_from_kernel_user_thread+0x14/0x1c The buggy address belongs to the
object at c000000364e80000 which belongs to the cache kmalloc-128k of size
131072 The buggy address is located 0 bytes to the right of allocated
98256-byte region [c000000364e80000, c000000364e97fd0)

pseries-hotplug-mem: Failed to hot-remove memory at 0 Log failed lookups
with a separate message and dereference the cursor only when it points to a
valid entry.

Notes

Author Note
rodrigo-zaiden USN-6765-1 for linux-oem-6.5 wrongly stated that this CVE was fixed in version 6.5.0-1022.23. The mentioned notice was revoked and the state of the fix for linux-oem-6.5 was recovered to the previous state.
OSVersionArchitecturePackageVersionFilename
ubuntu18.04noarchlinux< 4.15.0-224.236UNKNOWN
ubuntu20.04noarchlinux< 5.4.0-176.196UNKNOWN
ubuntu22.04noarchlinux< 5.15.0-102.112UNKNOWN
ubuntu23.10noarchlinux< 6.5.0-41.41UNKNOWN
ubuntu16.04noarchlinux< 4.4.0-253.287UNKNOWN
ubuntu18.04noarchlinux-aws< 4.15.0-1167.180UNKNOWN
ubuntu20.04noarchlinux-aws< 5.4.0-1122.132UNKNOWN
ubuntu22.04noarchlinux-aws< 5.15.0-1057.63UNKNOWN
ubuntu23.10noarchlinux-aws< 6.5.0-1021.21UNKNOWN
ubuntu14.04noarchlinux-aws< 4.4.0-1130.136UNKNOWN
Rows per page:
1-10 of 841

References

CVSS3

7.8

Attack Vector

LOCAL

Attack Complexity

LOW

Privileges Required

LOW

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

HIGH

Integrity Impact

HIGH

Availability Impact

HIGH

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

AI Score

7.4

Confidence

High

EPSS

0

Percentile

5.1%