CVE-2025-38723

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-38723
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-38723.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-38723
Downstream
Related
Published
2025-09-04T15:33:16.547Z
Modified
2025-11-26T19:35:00.876608Z
Summary
LoongArch: BPF: Fix jump offset calculation in tailcall
Details

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

LoongArch: BPF: Fix jump offset calculation in tailcall

The extra pass of bpfintjitcompile() skips JIT context initialization which essentially skips offset calculation leaving outoffset = -1, so the jmpoffset in emitbpftailcall is calculated by

"#define jmpoffset (outoffset - (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/ ./testprogs --allow=tailcalls/tailcallbpf2bpf_1

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

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/blob/9c3874e559580d6c6ec8d449812ac11277724770/cves/2025/38xxx/CVE-2025-38723.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5dc615520c4dfb358245680f1904bad61116648e
Fixed
1a782fa32e644aa9fbae6c8488f3e61221ac96e1
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5dc615520c4dfb358245680f1904bad61116648e
Fixed
17c010fe45def335fe03a0718935416b04c7f349
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5dc615520c4dfb358245680f1904bad61116648e
Fixed
f83d469e16bb1f75991ca67c56786fb2aaa42bea
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5dc615520c4dfb358245680f1904bad61116648e
Fixed
f2b5e50cc04d7a049b385bc1c93b9cbf5f10c94f
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5dc615520c4dfb358245680f1904bad61116648e
Fixed
9262e3e04621558e875eb5afb5e726b648cd5949
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5dc615520c4dfb358245680f1904bad61116648e
Fixed
cd39d9e6b7e4c58fa77783e7aedf7ada51d02ea3

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.1.0
Fixed
6.1.149
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.103
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.43
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.15.11
Type
ECOSYSTEM
Events
Introduced
6.16.0
Fixed
6.16.2