{"id":33309,"date":"2026-10-06T20:31:44","date_gmt":"2026-10-06T12:31:44","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98240"},"modified":"2026-10-06T20:31:44","modified_gmt":"2026-10-06T12:31:44","slug":"cve-2026-98240","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98240","title":{"rendered":"CVE-2026-98240 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ip_tunnel: initi"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: ip_tunnel: initialize `options_len` before referencing options<\/p>\n<p>The following command triggers a kernel panic:<\/p>\n<p>  ip link add d0 type dummy; ip link set d0 up<br \/>\n  ip route add 10.30.0.0\/16<br \/>\n    encap ip id 300 geneve_opts 4660:66:11223344 dev d0<\/p>\n<p>  memcpy: detected buffer overflow: 4 byte write of buffer size 0<br \/>\n  kernel BUG at lib\/string_helpers.c:1044!<br \/>\n  &#8230;<br \/>\n  ip_tun_parse_opts.part.0.cold+0x10\/0x10<br \/>\n  ip_tun_build_state+0x116\/0x2a0<\/p>\n<p>On kernels built with GCC 15+ and `CONFIG_FORTIFY_SOURCE`, the fortified<br \/>\n`memcpy()` got 0 sized destination with request of 4 bytes length:<\/p>\n<p>  static int ip_tun_parse_opts_geneve(&#8230;)<br \/>\n  {<br \/>\n      &#8230;<br \/>\n      attr = tb[LWTUNNEL_IP_OPT_GENEVE_DATA];<br \/>\n      data_len = nla_len(attr); \/* == 4 *\/<\/p>\n<p>      struct geneve_opt *opt = ip_tunnel_info_opts(info) + opts_len;<br \/>\n      memcpy(opt-&gt;opt_data, nla_data(attr), data_len);<br \/>\n      \/*     ^^^^^^^^^^^^^ 0 since options_len is assigned afterwards *\/<\/p>\n<p>Fixed by initializing the counter before the options are referenced.<br \/>\nMatching what `tunnel_key_opts_set()` already does.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>net: ip_tunnel: initialize `options_len` before referencing options<\/p>\n<p>The following command triggers a kernel panic:<\/p>\n<p>  ip link add <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-33309","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/33309","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=33309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}