Linux Kernel BPF Verifier Precision Propagation Vulnerability

Vulnerability

A vulnerability in the Linux kernel's BPF verifier can lead to out-of-bounds memory access. This issue arises because the verifier does not properly handle precision markers for certain constant arguments, allowing invalid programs to pass verification and access memory beyond the intended limits. The vulnerability affects users with CAP_BPF, particularly when using static or global functions.

Impact

Exploitation of this vulnerability can result in unauthorized memory access, potentially leading to memory corruption or other unintended behavior.

Reproduction

The vulnerability can be reproduced by creating a BPF program that uses ARG_CONST_ALLOC_SIZE_OR_ZERO arguments. The program should include logic that relies on the BPF verifier's state management, particularly in how it handles precision markers. When the program is loaded with a user that has CAP_BPF, the verifier will incorrectly prune states, allowing the program to access memory out of bounds.

Remediation

Users should update to the latest version of the Linux kernel where this vulnerability has been addressed.

Added: Sep 1, 2025, 7:22 PM
Updated: Sep 1, 2025, 7:22 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
7.5
exploitability
3.8
remediation
7.7
relevance
0.2
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.