{"id":14952,"date":"2026-09-04T19:02:19","date_gmt":"2026-09-04T11:02:19","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-63914"},"modified":"2026-09-04T19:02:19","modified_gmt":"2026-09-04T11:02:19","slug":"cve-2026-63914","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-63914","title":{"rendered":"CVE-2026-63914 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nxfrm: route MIGRATE n"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>xfrm: route MIGRATE notifications to caller&#8217;s netns<\/p>\n<p>xfrm_send_migrate() in net\/xfrm\/xfrm_user.c and pfkey_send_migrate()<br \/>\nin net\/key\/af_key.c both hardcode &amp;init_net for the multicast that<br \/>\nannounces a successful XFRM_MSG_MIGRATE \/ SADB_X_MIGRATE.<\/p>\n<p>XFRM_MSG_MIGRATE arrives on a per-netns NETLINK_XFRM socket, and the<br \/>\nrest of the xfrm\/af_key netlink path was made netns-aware in 2008.<br \/>\nThe other 14 multicast paths in xfrm_user.c route their event using<br \/>\nxs_net(x), xp_net(xp) or sock_net(skb-&gt;sk); only the migrate path<br \/>\nwas missed.<\/p>\n<p>Two consequences of the init_net hardcoding:<\/p>\n<p>  1. The notification (selector, old\/new endpoint addresses, and the<br \/>\n     km_address) is delivered to listeners on init_net&#8217;s<br \/>\n     XFRMNLGRP_MIGRATE \/ pfkey BROADCAST_ALL groups rather than on<br \/>\n     the issuing netns. An IKE daemon running in init_net therefore<br \/>\n     receives migration notifications originating from any other<br \/>\n     netns on the host.<\/p>\n<p>  2. An IKE daemon running inside a non-init netns and subscribed<br \/>\n     to its own XFRMNLGRP_MIGRATE \/ pfkey groups never receives the<br \/>\n     notification of its own migration. IKEv2 MOBIKE \/ address-update<br \/>\n     handling inside a netns is silently broken.<\/p>\n<p>Thread struct net through km_migrate() and the xfrm_mgr.migrate<br \/>\nfunction pointer, drop the &amp;init_net override in xfrm_send_migrate()<br \/>\nand pfkey_send_migrate(), and pass the caller&#8217;s net (already in<br \/>\nscope in xfrm_migrate() via sock_net(skb-&gt;sk)) all the way down.<br \/>\nstruct xfrm_mgr is in-tree only and not exported as a stable API,<br \/>\nso the function-pointer signature change is internal.<\/p>\n<p>pfkey_broadcast() is already netns-aware via net_generic(net,<br \/>\npfkey_net_id) since the pernet conversion. The five other<br \/>\npfkey_broadcast() callers in af_key.c already pass xs_net(x),<br \/>\nsock_net(sk) or a per-netns net, so this only removes the<br \/>\n&amp;init_net outlier.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>xfrm: route MIGRATE notifications to caller&#8217;s netns<\/p>\n<p>xfrm_send_migrate() in net\/xfrm\/xfrm_user.c and pfkey_send_migrate()<br \/>\nin net\/ke<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-14952","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/14952","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=14952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}