CVE-2025-38320

Severity CVSS v4.0:
Pending analysis
Type:
CWE-125 Out-of-bounds Read
Publication date:
10/07/2025
Last modified:
19/12/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> arm64/ptrace: Fix stack-out-of-bounds read in regs_get_kernel_stack_nth()<br /> <br /> KASAN reports a stack-out-of-bounds read in regs_get_kernel_stack_nth().<br /> <br /> Call Trace:<br /> [ 97.283505] BUG: KASAN: stack-out-of-bounds in regs_get_kernel_stack_nth+0xa8/0xc8<br /> [ 97.284677] Read of size 8 at addr ffff800089277c10 by task 1.sh/2550<br /> [ 97.285732]<br /> [ 97.286067] CPU: 7 PID: 2550 Comm: 1.sh Not tainted 6.6.0+ #11<br /> [ 97.287032] Hardware name: linux,dummy-virt (DT)<br /> [ 97.287815] Call trace:<br /> [ 97.288279] dump_backtrace+0xa0/0x128<br /> [ 97.288946] show_stack+0x20/0x38<br /> [ 97.289551] dump_stack_lvl+0x78/0xc8<br /> [ 97.290203] print_address_description.constprop.0+0x84/0x3c8<br /> [ 97.291159] print_report+0xb0/0x280<br /> [ 97.291792] kasan_report+0x84/0xd0<br /> [ 97.292421] __asan_load8+0x9c/0xc0<br /> [ 97.293042] regs_get_kernel_stack_nth+0xa8/0xc8<br /> [ 97.293835] process_fetch_insn+0x770/0xa30<br /> [ 97.294562] kprobe_trace_func+0x254/0x3b0<br /> [ 97.295271] kprobe_dispatcher+0x98/0xe0<br /> [ 97.295955] kprobe_breakpoint_handler+0x1b0/0x210<br /> [ 97.296774] call_break_hook+0xc4/0x100<br /> [ 97.297451] brk_handler+0x24/0x78<br /> [ 97.298073] do_debug_exception+0xac/0x178<br /> [ 97.298785] el1_dbg+0x70/0x90<br /> [ 97.299344] el1h_64_sync_handler+0xcc/0xe8<br /> [ 97.300066] el1h_64_sync+0x78/0x80<br /> [ 97.300699] kernel_clone+0x0/0x500<br /> [ 97.301331] __arm64_sys_clone+0x70/0x90<br /> [ 97.302084] invoke_syscall+0x68/0x198<br /> [ 97.302746] el0_svc_common.constprop.0+0x11c/0x150<br /> [ 97.303569] do_el0_svc+0x38/0x50<br /> [ 97.304164] el0_svc+0x44/0x1d8<br /> [ 97.304749] el0t_64_sync_handler+0x100/0x130<br /> [ 97.305500] el0t_64_sync+0x188/0x190<br /> [ 97.306151]<br /> [ 97.306475] The buggy address belongs to stack of task 1.sh/2550<br /> [ 97.307461] and is located at offset 0 in frame:<br /> [ 97.308257] __se_sys_clone+0x0/0x138<br /> [ 97.308910]<br /> [ 97.309241] This frame has 1 object:<br /> [ 97.309873] [48, 184) &amp;#39;args&amp;#39;<br /> [ 97.309876]<br /> [ 97.310749] The buggy address belongs to the virtual mapping at<br /> [ 97.310749] [ffff800089270000, ffff800089279000) created by:<br /> [ 97.310749] dup_task_struct+0xc0/0x2e8<br /> [ 97.313347]<br /> [ 97.313674] The buggy address belongs to the physical page:<br /> [ 97.314604] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x14f69a<br /> [ 97.315885] flags: 0x15ffffe00000000(node=1|zone=2|lastcpupid=0xfffff)<br /> [ 97.316957] raw: 015ffffe00000000 0000000000000000 dead000000000122 0000000000000000<br /> [ 97.318207] raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000<br /> [ 97.319445] page dumped because: kasan: bad access detected<br /> [ 97.320371]<br /> [ 97.320694] Memory state around the buggy address:<br /> [ 97.321511] ffff800089277b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> [ 97.322681] ffff800089277b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> [ 97.323846] &gt;ffff800089277c00: 00 00 f1 f1 f1 f1 f1 f1 00 00 00 00 00 00 00 00<br /> [ 97.325023] ^<br /> [ 97.325683] ffff800089277c80: 00 00 00 00 00 00 00 00 00 f3 f3 f3 f3 f3 f3 f3<br /> [ 97.326856] ffff800089277d00: f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 00 00<br /> <br /> This issue seems to be related to the behavior of some gcc compilers and<br /> was also fixed on the s390 architecture before:<br /> <br /> commit d93a855c31b7 ("s390/ptrace: Avoid KASAN false positives in regs_get_kernel_stack_nth()")<br /> <br /> As described in that commit, regs_get_kernel_stack_nth() has confirmed that<br /> `addr` is on the stack, so reading the value at `*addr` should be allowed.<br /> Use READ_ONCE_NOCHECK() helper to silence the KASAN check for this case.<br /> <br /> [will: Use &amp;#39;*addr&amp;#39; as the argument to READ_ONCE_NOCHECK()]

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.8 (including) 5.4.295 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.239 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.186 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.142 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.95 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.12.35 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.15.4 (excluding)
cpe:2.3:o:linux:linux_kernel:6.16:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.16:rc2:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:*