CVE Catalog

CVE-2025-38586

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

6th percentile - higher than 6% of all known CVEs

Summary

In the Linux kernel BPF JIT for ARM64, when a program acts as an exception boundary, find_used_callee_regs() is not called, leaving ctx->fp_used false. Consequently, the frame pointer (FP) is not set up in the prologue, potentially causing a kernel crash due to a page fault.

Risk Assessment

Missing FP initialization in exception boundary BPF programs can lead to system crashes (kernel panic) and service disruption.

Recommendation

Apply the Linux kernel patch that sets ctx->fp_used = true for exception boundary programs to ensure proper FP initialization.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS