Linux Kernel BPF Exception Exit Lock Checking Vulnerability in Subprograms

Vulnerability

A vulnerability in the Linux kernel's BPF (Berkeley Packet Filter) subsystem has been addressed. The issue arose because the BPF exception handling mechanism, specifically the 'bpf_throw()' function, was not properly managing user-acquired locks when called from static subprograms. This oversight allowed the exception to unwind the stack without releasing locks, potentially leading to various runtime issues. The vulnerability affected several versions of the Linux kernel.

Impact

Failure to properly manage locks during BPF exception exits from subprograms could lead to resource management issues, particularly with locks that are not released as expected, potentially causing deadlocks or other synchronization problems.

Reproduction

The vulnerability can be reproduced by creating a BPF program that calls 'bpf_throw()' from a static subprogram while holding a read lock. This will trigger the exception exit without releasing the lock, simulating the improper lock management that caused the vulnerability.

Remediation

Users can upgrade to the latest stable version of the Linux kernel, where this vulnerability has been fixed.

Added: Apr 22, 2026, 2:35 PM
Updated: Apr 22, 2026, 2:35 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
5.6
exploitability
4.3
remediation
7.7
relevance
6.5
threat
4.8
urgency
2.9
incentive
0.0

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