CVE-2025-38586
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
bpf, arm64: Fix fp initialization for exception boundary
In the ARM64 BPF JIT when prog->aux->exception_boundary is set for a BPF
program, find_used_callee_regs() is not called because for a program
acting as exception boundary, all callee saved registers are saved.
find_used_callee_regs() sets ctx->fp_used = true; when it sees FP
being used in any of the instructions.
For programs acting as exception boundary, ctx->fp_used remains false even if frame pointer is used by the program and therefore, FP is not set-up for such programs in the prologue. This can cause the kernel to crash due to a pagefault.
Fix it by setting ctx->fp_used = true for exception boundary programs as fp is always saved in such programs.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 5d4fa9ec5643a5c75d3c1e6abf50fb9284caf1ff < 0dbef493cae7d451f740558665893c000adb2321 | affected |
| Linux | Linux | 5d4fa9ec5643a5c75d3c1e6abf50fb9284caf1ff < e23184725dbb72d5d02940222eee36dbba2aa422 | affected |
| Linux | Linux | 5d4fa9ec5643a5c75d3c1e6abf50fb9284caf1ff < 1ce30231e0a2c8c361ee5f8f7f265fc17130adce | affected |
| Linux | Linux | 5d4fa9ec5643a5c75d3c1e6abf50fb9284caf1ff < b114fcee766d5101eada1aca7bb5fd0a86c89b35 | affected |
| Linux | Linux | 6.12 | affected |
| Linux | Linux | 0 < 6.12 | unaffected |
| Linux | Linux | 6.12.42 <= 6.12.* | unaffected |
| Linux | Linux | 6.15.10 <= 6.15.* | unaffected |
| Linux | Linux | 6.16.1 <= 6.16.* | unaffected |
| Linux | Linux | 6.17 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/0dbef493cae7d451f740558665893c000adb2321
- https://git.kernel.org/stable/c/e23184725dbb72d5d02940222eee36dbba2aa422
- https://git.kernel.org/stable/c/1ce30231e0a2c8c361ee5f8f7f265fc17130adce
- https://git.kernel.org/stable/c/b114fcee766d5101eada1aca7bb5fd0a86c89b35
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.