CVE-2023-52835

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
21/05/2024
Last modified:
23/09/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> perf/core: Bail out early if the request AUX area is out of bound<br /> <br /> When perf-record with a large AUX area, e.g 4GB, it fails with:<br /> <br /> #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1<br /> failed to mmap with 12 (Cannot allocate memory)<br /> <br /> and it reveals a WARNING with __alloc_pages():<br /> <br /> ------------[ cut here ]------------<br /> WARNING: CPU: 44 PID: 17573 at mm/page_alloc.c:5568 __alloc_pages+0x1ec/0x248<br /> Call trace:<br /> __alloc_pages+0x1ec/0x248<br /> __kmalloc_large_node+0xc0/0x1f8<br /> __kmalloc_node+0x134/0x1e8<br /> rb_alloc_aux+0xe0/0x298<br /> perf_mmap+0x440/0x660<br /> mmap_region+0x308/0x8a8<br /> do_mmap+0x3c0/0x528<br /> vm_mmap_pgoff+0xf4/0x1b8<br /> ksys_mmap_pgoff+0x18c/0x218<br /> __arm64_sys_mmap+0x38/0x58<br /> invoke_syscall+0x50/0x128<br /> el0_svc_common.constprop.0+0x58/0x188<br /> do_el0_svc+0x34/0x50<br /> el0_svc+0x34/0x108<br /> el0t_64_sync_handler+0xb8/0xc0<br /> el0t_64_sync+0x1a4/0x1a8<br /> <br /> &amp;#39;rb-&gt;aux_pages&amp;#39; allocated by kcalloc() is a pointer array which is used to<br /> maintains AUX trace pages. The allocated page for this array is physically<br /> contiguous (and virtually contiguous) with an order of 0..MAX_ORDER. If the<br /> size of pointer array crosses the limitation set by MAX_ORDER, it reveals a<br /> WARNING.<br /> <br /> So bail out early with -ENOMEM if the request AUX area is out of bound,<br /> e.g.:<br /> <br /> #perf record -C 0 -m ,4G -e arm_spe_0// -- sleep 1<br /> failed to mmap with 12 (Cannot allocate memory)

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19.300 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.262 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.202 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.140 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.64 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.5.13 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6 (including) 6.6.3 (excluding)