CVE-2025-38723

CVE-2025-38723

Medium · published September 4, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
5.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

LoongArch: BPF: Fix jump offset calculation in tailcall

The extra pass of bpf_int_jit_compile() skips JIT context initialization

which essentially skips offset calculation leaving out_offset = -1, so

the jmp_offset in emit_bpf_tail_call is calculated by

"#define jmp_offset (out_offset - (cur_offset))"

is a negative number, which is wrong. The final generated assembly are

as follow.

54: bgeu $a2, $t1, -8 # 0x0000004c

58: addi.d $a6, $s5, -1

5c: bltz $a6, -16 # 0x0000004c

60: alsl.d $t2, $a2, $a1, 0x3

64: ld.d $t2, $t2, 264

68: beq $t2, $zero, -28 # 0x0000004c

Before apply this patch, the follow test case will reveal soft lock issues.

cd tools/testing/selftests/bpf/

./test_progs --allow=tailcalls/tailcall_bpf2bpf_1

dmesg:

watchdog: BUG: soft lockup - CPU#2 stuck for 26s! [test_progs:25056]

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00167 · 5.7th percentile
Published
2025-09-04T20:15Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 6.16, < 6.16.26.16.2
linux/linux_kernel≥ 6.1, < 6.1.1496.1.149
linux/linux_kernel≥ 6.2, < 6.6.1036.6.103
linux/linux_kernel≥ 6.7, < 6.12.436.12.43
linux/linux_kernel≥ 6.13, < 6.15.116.15.11
debian/debian_linuxall versions—
References (8)
EPSS history
Timeline
  • 04 SEP 15:33Z
    LoongArch: BPF: Fix jump offset calculation in tailcall
    cvelistv5