Linux Kernel BPF JIT Frame Pointer Initialization Vulnerability in ARM64

Vulnerability

A vulnerability has been identified in the Linux kernel's BPF Just-In-Time (JIT) compiler for ARM64 architecture. When a BPF program is marked as an exception boundary, the JIT compiler fails to properly initialize the frame pointer (FP) in the program's prologue. This oversight occurs because the function responsible for tracking register usage does not recognize that the frame pointer is being used, leading to a situation where the kernel can crash due to a page fault. The issue arises in several versions of the Linux kernel.

Impact

The vulnerability can cause the Linux kernel to crash, resulting in a page fault.

Reproduction

To reproduce this vulnerability, create a BPF program that is set to act as an exception boundary. When this program is compiled with the ARM64 BPF JIT, the frame pointer will not be properly initialized, despite being used in the program. This can be verified by observing the resulting behavior of the kernel, which will crash due to a page fault.

Remediation

The vulnerability has been addressed in the Linux kernel. Users should upgrade to the latest version where this issue has been fixed.

Added: Aug 19, 2025, 6:18 PM
Updated: Aug 19, 2025, 6:18 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
5.7
remediation
7.7
relevance
0.4
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.