{"id":7322,"date":"2026-09-04T18:49:30","date_gmt":"2026-09-04T10:49:30","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74371"},"modified":"2026-09-04T18:49:30","modified_gmt":"2026-09-04T10:49:30","slug":"cve-2026-74371","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74371","title":{"rendered":"CVE-2026-74371 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: fix BPF_PROG_QUE"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: fix BPF_PROG_QUERY OOB write and cgroup backward compat<\/p>\n<p>BPF_PROG_QUERY writes back the &#8216;query.revision&#8217; field unconditionally to<br \/>\nuserspace. If userspace passes a smaller &#8216;bpf_attr&#8217; structure (e.g. 40<br \/>\nbytes, which was the layout before the addition of &#8216;query.revision&#8217;),<br \/>\nthe kernel performs an out-of-bounds write.<\/p>\n<p>Fix this by propagating the user-provided attribute size &#8216;uattr_size&#8217;<br \/>\ndown to the cgroup query handlers, and conditionally skipping writing<br \/>\nthe revision field to userspace when the provided buffer size is<br \/>\ninsufficient.<\/p>\n<p>query.revision in bpf_mprog_query is structurally identical to the<br \/>\ncgroup case: a late tail field, written unconditionally.<\/p>\n<p>But the backward-compat hazard is not the same.<\/p>\n<p>The min-historical-size test is per command, and bpf_mprog_query only<br \/>\nserves attach types that were born with revision in the struct:<\/p>\n<p>&#8211; tcx_prog_query -&gt; BPF_TCX_INGRESS\/EGRESS<br \/>\n&#8211; netkit_prog_query -&gt; BPF_NETKIT_PRIMARY\/PEER<\/p>\n<p>tcx, netkit, the revision field, and bpf_mprog_query itself all landed in<br \/>\nthe same v6.6 merge window (053c8e1f235d added the mprog query API +<br \/>\nrevision; tcx in e420bed02507, netkit in 35dfaad7188c). There has never<br \/>\nbeen a tcx\/netkit BPF_PROG_QUERY userspace that doesn&#8217;t know about<br \/>\nrevision. So for these commands the minimum legitimate struct already<br \/>\ncovers offset 56-64 \u2014 no old binary can be broken here.<\/p>\n<p>Contrast with cgroup: BPF_PROG_QUERY on cgroup attach types shipped in<br \/>\n2017; revision write-back was bolted on years later (120933984460). That<br \/>\npath has a real population of pre-revision callers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>bpf: fix BPF_PROG_QUERY OOB write and cgroup backward compat<\/p>\n<p>BPF_PROG_QUERY writes back the &#8216;query.revision&#8217; field unconditionally<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7322","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}