CVE-2025-22048

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
16/04/2025
Last modified:
31/10/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> LoongArch: BPF: Don&amp;#39;t override subprog&amp;#39;s return value<br /> <br /> The verifier test `calls: div by 0 in subprog` triggers a panic at the<br /> ld.bu instruction. The ld.bu insn is trying to load byte from memory<br /> address returned by the subprog. The subprog actually set the correct<br /> address at the a5 register (dedicated register for BPF return values).<br /> But at commit 73c359d1d356 ("LoongArch: BPF: Sign-extend return values")<br /> we also sign extended a5 to the a0 register (return value in LoongArch).<br /> For function call insn, we later propagate the a0 register back to a5<br /> register. This is right for native calls but wrong for bpf2bpf calls<br /> which expect zero-extended return value in a5 register. So only move a0<br /> to a5 for native calls (i.e. non-BPF_PSEUDO_CALL).

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.120 (including) 6.2 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.64 (including) 6.6.87 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.11.11 (including) 6.12 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.12.2 (including) 6.12.23 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (including) 6.13.11 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.14 (including) 6.14.2 (excluding)