{"id":12306,"date":"2026-09-04T18:54:15","date_gmt":"2026-09-04T10:54:15","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80615"},"modified":"2026-09-04T18:54:15","modified_gmt":"2026-09-04T10:54:15","slug":"cve-2026-80615","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80615","title":{"rendered":"CVE-2026-80615 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnet: dst_metadata: fi"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: dst_metadata: fix false-positive memcpy overflow in tun_dst_unclone<\/p>\n<p>kmalloc_flex() in metadata_dst_alloc() sets __counted_by for the<br \/>\nstructure to the options_len, which is then initialized to zero.<br \/>\nLater, we&#8217;re initializing the structure by copying the tunnel info<br \/>\ntogether with the options, and this triggers a warning for a potential<br \/>\nmemcpy overflow, since the compiler estimates that the options can&#8217;t<br \/>\nfit into the structure, even though the memory for them is actually<br \/>\nallocated.<\/p>\n<p> memcpy: detected buffer overflow: 104 byte write of buffer size 96<br \/>\n WARNING: CPU: X PID: Y at lib\/string_helpers.c:1036 __fortify_report<br \/>\n  skb_tunnel_info_unclone+0x179\/0x190<br \/>\n  geneve_xmit+0x7fe\/0xe00<\/p>\n<p>The issue is triggered when built with clang and source fortification.<\/p>\n<p>Fix that by doing the copy in two stages: first &#8211; the main data with<br \/>\nthe options_len, then the options.  This way the correct length should<br \/>\nbe known at the time of the copy.<\/p>\n<p>It would be better if the options_len never changed after allocation,<br \/>\nbut the allocation code is a little separate from the initialization<br \/>\nand it would be awkward and potentially dangerous to return a struct<br \/>\nwith options_len set to a non-zero value from the metadata_dst_alloc().<\/p>\n<p>Another option would be to use ip_tunnel_info_opts_set(), but it is<br \/>\ndoing too many unnecessary operations for the use case here.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: dst_metadata: fix false-positive memcpy overflow in tun_dst_unclone<\/p>\n<p>kmalloc_flex() in metadata_dst_alloc() sets __counted_by <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-12306","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/12306","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=12306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}