{"id":29090,"date":"2026-09-25T20:31:51","date_gmt":"2026-09-25T12:31:51","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97934"},"modified":"2026-09-25T20:31:51","modified_gmt":"2026-09-25T12:31:51","slug":"cve-2026-97934","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97934","title":{"rendered":"CVE-2026-97934 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ntracing: Fix memory c"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tracing: Fix memory corruption from a &#8220;STACKTRACE&#8221; histogram key<\/p>\n<p>&#8220;cpu&#8221;, &#8220;CPU&#8221;, &#8220;stacktrace&#8221; and &#8220;STACKTRACE&#8221; are generic fields, defined<br \/>\nwith an offset and a size of zero so that the filter code can match them<br \/>\nby name. parse_field() maps them onto their common_* equivalents for<br \/>\nbackward compatibility, but unlike the common_* names it hands the<br \/>\nplaceholder back to the caller instead of NULL.<\/p>\n<p>create_hist_field() takes a non-NULL field as a promise that the record<br \/>\ncarries a stacktrace and picks HIST_FIELD_FN_STACK, so the __data_loc<br \/>\nword is read from offset 0, that is from common_type, and its low 16<br \/>\nbits are followed as an offset into the record. What is found there<br \/>\nbecomes the length of an unbounded memcpy. Pick an event whose id is<br \/>\nsmall enough that the offset stays inside its own record and the length<br \/>\nis a kernel text address:<\/p>\n<p>  # cd \/sys\/kernel\/tracing<br \/>\n  # echo &#8216;hist:keys=STACKTRACE&#8217; &gt; events\/ftrace\/print\/trigger<br \/>\n  # echo hello &gt; trace_marker<\/p>\n<p>  Oops: general protection fault, probably for non-canonical address<br \/>\n  RIP: 0010:rb_next+0x23\/0x60<\/p>\n<p>  RIP: 0010:memcpy+0xc\/0x30<br \/>\n   event_hist_trigger+0x2e7\/0x12c0<br \/>\n  Kernel panic &#8211; not syncing: Fatal exception in interrupt<\/p>\n<p>Leave the field NULL, which is what the comment above the branch says<br \/>\nthe code does and what common_stacktrace already does. FILTER_CPU and<br \/>\nFILTER_COMM are left alone, their create_hist_field() branches never<br \/>\nlook at the field.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>tracing: Fix memory corruption from a &#8220;STACKTRACE&#8221; histogram key<\/p>\n<p>&#8220;cpu&#8221;, &#8220;CPU&#8221;, &#8220;stacktrace&#8221; and &#8220;STACKTRACE&#8221; are generic fields, d<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29090","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29090","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=29090"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29090"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29090"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}