CVE-2026-74371

bpf: fix BPF_PROG_QUERY OOB write and cgroup backward compat

HIGH
7.8
CVSS Score
Published: August 15, 2026 at 05:58 AM UTC
Updated: September 14, 2026 at 12:17 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%

Description

In the Linux kernel, the following vulnerability has been resolved: bpf: fix BPF_PROG_QUERY OOB write and cgroup backward compat BPF_PROG_QUERY writes back the 'query.revision' field unconditionally to userspace. If userspace passes a smaller 'bpf_attr' structure (e.g. 40 bytes, which was the layout before the addition of 'query.revision'), the kernel performs an out-of-bounds write. Fix this by propagating the user-provided attribute size 'uattr_size' down to the cgroup query handlers, and conditionally skipping writing the revision field to userspace when the provided buffer size is insufficient. query.revision in bpf_mprog_query is structurally identical to the cgroup case: a late tail field, written unconditionally. But the backward-compat hazard is not the same. The min-historical-size test is per command, and bpf_mprog_query only serves attach types that were born with revision in the struct: - tcx_prog_query -> BPF_TCX_INGRESS/EGRESS - netkit_prog_query -> BPF_NETKIT_PRIMARY/PEER tcx, netkit, the revision field, and bpf_mprog_query itself all landed in the same v6.6 merge window (053c8e1f235d added the mprog query API + revision; tcx in e420bed02507, netkit in 35dfaad7188c). There has never been a tcx/netkit BPF_PROG_QUERY userspace that doesn't know about revision. So for these commands the minimum legitimate struct already covers offset 56-64 — no old binary can be broken here. Contrast with cgroup: BPF_PROG_QUERY on cgroup attach types shipped in 2017; revision write-back was bolted on years later (120933984460). That path has a real population of pre-revision callers.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.17 ≤ v < 6.18.406.17 ≤ v < 7.1.56.17 ≤ v < 7.21209339844601ec1766f4ff430673fbcfe42bb51195814a38a6a712bcb44d3dfa5109e926e92bec46.17
Vendor states this is fixed in 21c4b99b27f3f85b89256e81b3e997dec0a460d0 (fixed)
Vendor states this is fixed in a7131340d0f95df9a541257dccab5d85e6bcdd2b (fixed)
Vendor states this is fixed in b78eb6efbf052d44a3a14726aa7c7d5aa2e544d7 (fixed)
Vendor states this is fixed in d3d630e8a7f3421bc2d204b87bdff35b4432a8e3 (fixed)
Vendor states this is fixed in 6.17 (unaffected)
Vendor states this is fixed in 6.18.40 (unaffected)
Vendor states this is fixed in 7.1.5 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card