Public mode

No access to your tenant or devices. Every item links to its source. What this means

Sources need attention Customize Public modeDiscuss ChangeIntel on Discord

bpf: fix BPF_PROG_QUERY OOB write and cgroup backward compat

CVSS 3.1 7.8 HIGHCheck source for fixed versionsKEV status unknown

cve-program · CVE-2026-74371

Published

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.

Read the publisher's advisory

Affected versions, risk and source history

cve-program · CVE-2026-74371

Published

Linux

Vendor product

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "include/linux/bpf-cgroup.h",
                        "kernel/bpf/cgroup.c",
                        "kernel/bpf/syscall.c"
                    ],
                    "versions": [
                        {
                            "version": "195814a38a6a712bcb44d3dfa5109e926e92bec4",
                            "lessThan": "b78eb6efbf052d44a3a14726aa7c7d5aa2e544d7",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "1209339844601ec1766f4ff430673fbcfe42bb51",
                            "lessThan": "a7131340d0f95df9a541257dccab5d85e6bcdd2b",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "1209339844601ec1766f4ff430673fbcfe42bb51",
                            "lessThan": "d3d630e8a7f3421bc2d204b87bdff35b4432a8e3",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "1209339844601ec1766f4ff430673fbcfe42bb51",
                            "lessThan": "21c4b99b27f3f85b89256e81b3e997dec0a460d0",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                }

Linux

Vendor product

Publisher's version information

Shown as published. These rules are not interpreted as NuGet package version ranges.

{
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "include/linux/bpf-cgroup.h",
                        "kernel/bpf/cgroup.c",
                        "kernel/bpf/syscall.c"
                    ],
                    "versions": [
                        {
                            "version": "6.17",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "6.17",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.18.40",
                            "lessThanOrEqual": "6.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.1.5",
                            "lessThanOrEqual": "7.1.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "7.2",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }

Original source record · Cite this exact observation · Complete original publisher JSON

ChangeIntel

An IT change radar: releases, security, known issues, retirements, documentation changes, and service status from public sources. Every item links to supporting evidence; dates and statuses can change after they are read.

Sources read 13 Nov 17:25 UTC · 274 of 275 readable · 273 fully read · documentation 469/469 current