KernelScan.io

HIGH Introduced in 5.19

bpf copy_user_syms Bypass

CVE-2026-80865

CVSS 7.8 / 10.0 KernelScan AI

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

01

In the Linux kernel, the following vulnerability has been resolved: bpf: Add missing access_ok call to copy_user_syms As reported by sashiko we use __get_user without prior access_ok call on the user space pointer. Adding the missing call for the whole pointer array. Plus removing the err check in the error path, because it's not needed and also we can return -ENOMEM directly from the first kvmalloc_array fail path. [1] https://lore.kernel.org/bpf/20260611115503.AC16D1F00893@smtp.kernel.org/

02

Engine v0.6.0

Risk summary

A missing access_ok validation in the BPF kprobe multi link symbol resolution path allows a local user with BPF privileges to pass an invalid user-space pointer to __get_user, potentially causing kernel memory corruption or information disclosure. The issue is reachable through BPF program attachment operations requiring CAP_BPF.

Affectedkernel/trace/bpf_trace.c (bpf)

Vulnerability analysis

The BPF subsystem's symbol copy routine for kprobe multi link attachments failed to validate a user-supplied pointer array before dereferencing it, allowing an attacker to pass a pointer that bypasses normal user-space access checks and trigger unintended kernel memory access. The fix adds the missing validation on the entire pointer array before any dereference occurs, and cleans up the error handling path. This code path is reachable locally by a user with BPF loading privileges (CAP_BPF), which on most distributions requires at least low privileges due to unprivileged BPF being disabled by default.

03

BranchIntroducedFixed inPatch commit
6.15.196.1.178a67f7f9647cb
6.125.196.12.97128391b57e09
6.185.196.18.400b6252afcd19
6.65.196.6.1458b719cef5ac3
7.15.197.1.528ce7bcf8a29
mainline5.197.2d5dc200c3a3f
cip/6.15.196.1.182-cip59a67f7f9647cb
cip/6.1-rt5.196.1.182-cip59-rt31a67f7f9647cb
cip/6.125.196.12.101-cip29128391b57e09

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.101-cip29
cip/6.1Fixed in 6.1.182-cip59
cip/6.1-rtFixed in 6.1.182-cip59-rt31