[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025071010-CVE-2025-38285-f415@gregkh>
Date: Thu, 10 Jul 2025 09:42:26 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-38285: bpf: Fix WARN() in get_bpf_raw_tp_regs
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
bpf: Fix WARN() in get_bpf_raw_tp_regs
syzkaller reported an issue:
WARNING: CPU: 3 PID: 5971 at kernel/trace/bpf_trace.c:1861 get_bpf_raw_tp_regs+0xa4/0x100 kernel/trace/bpf_trace.c:1861
Modules linked in:
CPU: 3 UID: 0 PID: 5971 Comm: syz-executor205 Not tainted 6.15.0-rc5-syzkaller-00038-g707df3375124 #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
RIP: 0010:get_bpf_raw_tp_regs+0xa4/0x100 kernel/trace/bpf_trace.c:1861
RSP: 0018:ffffc90003636fa8 EFLAGS: 00010293
RAX: 0000000000000000 RBX: 0000000000000003 RCX: ffffffff81c6bc4c
RDX: ffff888032efc880 RSI: ffffffff81c6bc83 RDI: 0000000000000005
RBP: ffff88806a730860 R08: 0000000000000005 R09: 0000000000000003
R10: 0000000000000004 R11: 0000000000000000 R12: 0000000000000004
R13: 0000000000000001 R14: ffffc90003637008 R15: 0000000000000900
FS: 0000000000000000(0000) GS:ffff8880d6cdf000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7baee09130 CR3: 0000000029f5a000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
____bpf_get_stack_raw_tp kernel/trace/bpf_trace.c:1934 [inline]
bpf_get_stack_raw_tp+0x24/0x160 kernel/trace/bpf_trace.c:1931
bpf_prog_ec3b2eefa702d8d3+0x43/0x47
bpf_dispatcher_nop_func include/linux/bpf.h:1316 [inline]
__bpf_prog_run include/linux/filter.h:718 [inline]
bpf_prog_run include/linux/filter.h:725 [inline]
__bpf_trace_run kernel/trace/bpf_trace.c:2363 [inline]
bpf_trace_run3+0x23f/0x5a0 kernel/trace/bpf_trace.c:2405
__bpf_trace_mmap_lock_acquire_returned+0xfc/0x140 include/trace/events/mmap_lock.h:47
__traceiter_mmap_lock_acquire_returned+0x79/0xc0 include/trace/events/mmap_lock.h:47
__do_trace_mmap_lock_acquire_returned include/trace/events/mmap_lock.h:47 [inline]
trace_mmap_lock_acquire_returned include/trace/events/mmap_lock.h:47 [inline]
__mmap_lock_do_trace_acquire_returned+0x138/0x1f0 mm/mmap_lock.c:35
__mmap_lock_trace_acquire_returned include/linux/mmap_lock.h:36 [inline]
mmap_read_trylock include/linux/mmap_lock.h:204 [inline]
stack_map_get_build_id_offset+0x535/0x6f0 kernel/bpf/stackmap.c:157
__bpf_get_stack+0x307/0xa10 kernel/bpf/stackmap.c:483
____bpf_get_stack kernel/bpf/stackmap.c:499 [inline]
bpf_get_stack+0x32/0x40 kernel/bpf/stackmap.c:496
____bpf_get_stack_raw_tp kernel/trace/bpf_trace.c:1941 [inline]
bpf_get_stack_raw_tp+0x124/0x160 kernel/trace/bpf_trace.c:1931
bpf_prog_ec3b2eefa702d8d3+0x43/0x47
Tracepoint like trace_mmap_lock_acquire_returned may cause nested call
as the corner case show above, which will be resolved with more general
method in the future. As a result, WARN_ON_ONCE will be triggered. As
Alexei suggested, remove the WARN_ON_ONCE first.
The Linux kernel CVE team has assigned CVE-2025-38285 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 5.4.295 with commit 44ebe361abb322d2afd77930fa767a99f271c4d1
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 5.10.239 with commit 147ea936fc6fa8fe0c93f0df918803a5375ca535
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 5.15.186 with commit ee90be48edb3dac612e0b7f5332482a9e8be2696
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 6.1.142 with commit e167414beabb1e941fe563a96becc98627d5bdf6
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 6.6.94 with commit 6d8f39875a10a194051c3eaefebc7ac06a34aaf3
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 6.12.34 with commit c98cdf6795a36bca163ebb40411fef1687b9eb13
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 6.15.3 with commit 18e8cbbae79cb35bdce8a01c889827b9799c762e
Issue introduced in 5.2 with commit 9594dc3c7e71b9f52bee1d7852eb3d4e3aea9e99 and fixed in 6.16-rc1 with commit 3880cdbed1c4607e378f58fa924c5d6df900d1d3
Issue introduced in 4.19.57 with commit a7177b94aff4febe657fe31bb7e5ecdef72079f4
Issue introduced in 5.1.16 with commit 2a9fedc1ef4be2acb4fd4674f405c21c811e1505
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-38285
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
kernel/trace/bpf_trace.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/44ebe361abb322d2afd77930fa767a99f271c4d1
https://git.kernel.org/stable/c/147ea936fc6fa8fe0c93f0df918803a5375ca535
https://git.kernel.org/stable/c/ee90be48edb3dac612e0b7f5332482a9e8be2696
https://git.kernel.org/stable/c/e167414beabb1e941fe563a96becc98627d5bdf6
https://git.kernel.org/stable/c/6d8f39875a10a194051c3eaefebc7ac06a34aaf3
https://git.kernel.org/stable/c/c98cdf6795a36bca163ebb40411fef1687b9eb13
https://git.kernel.org/stable/c/18e8cbbae79cb35bdce8a01c889827b9799c762e
https://git.kernel.org/stable/c/3880cdbed1c4607e378f58fa924c5d6df900d1d3
Powered by blists - more mailing lists