CVE-2026-63914

xfrm: route MIGRATE notifications to caller's netns

State
Published
Severity
7.3 High
Published
Jul 19, 2026
Updated
Oct 19, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

xfrm: route MIGRATE notifications to caller's netns

xfrm_send_migrate() in net/xfrm/xfrm_user.c and pfkey_send_migrate() in net/key/af_key.c both hardcode &init_net for the multicast that announces a successful XFRM_MSG_MIGRATE / SADB_X_MIGRATE.

XFRM_MSG_MIGRATE arrives on a per-netns NETLINK_XFRM socket, and the rest of the xfrm/af_key netlink path was made netns-aware in 2008. The other 14 multicast paths in xfrm_user.c route their event using xs_net(x), xp_net(xp) or sock_net(skb->sk); only the migrate path was missed.

Two consequences of the init_net hardcoding:

1. The notification (selector, old/new endpoint addresses, and the km_address) is delivered to listeners on init_net's XFRMNLGRP_MIGRATE / pfkey BROADCAST_ALL groups rather than on the issuing netns. An IKE daemon running in init_net therefore receives migration notifications originating from any other netns on the host.

2. An IKE daemon running inside a non-init netns and subscribed to its own XFRMNLGRP_MIGRATE / pfkey groups never receives the notification of its own migration. IKEv2 MOBIKE / address-update handling inside a netns is silently broken.

Thread struct net through km_migrate() and the xfrm_mgr.migrate function pointer, drop the &init_net override in xfrm_send_migrate() and pfkey_send_migrate(), and pass the caller's net (already in scope in xfrm_migrate() via sock_net(skb->sk)) all the way down. struct xfrm_mgr is in-tree only and not exported as a stable API, so the function-pointer signature change is internal.

pfkey_broadcast() is already netns-aware via net_generic(net, pfkey_net_id) since the pernet conversion. The five other pfkey_broadcast() callers in af_key.c already pass xs_net(x), sock_net(sk) or a per-netns net, so this only removes the &init_net outlier.

Scores

CVSSScoreVectorSource
3.17.3 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:LLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before bafc7d0774b9bf52909c70ed990bc5ccf7ec4badAffected
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before 6df8157547347b5257bf640a0ae3dfc4411e06cdAffected
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before fe463798343382c8fe9416a95959f005a3c30aa5Affected
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before 00f2c451e57df50b1151d9b2254878f106b7c892Affected
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before a306cf2ac8849c487791369fad6f216399d000f6Affected
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before 448bb92ca101dde8a6e88b4dc824044b4e341604Affected
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before 26ce8dbf2e23fe4fcc3351d19ef6d3fb703ed126Affected
  • 5c79de6e79cd8ecfbae28886be3ee49044f3a4d4 to before 7e2a4f7ca0952820731ef7bdadfc9a9e9d3571b4Affected
LinuxLinux
  • 2.6.21Affected
  • before 2.6.21Not affected
  • 5.10.259 through 5.10.*Not affected
  • 5.15.210 through 5.15.*Not affected
  • 6.1.176 through 6.1.*Not affected
  • 6.6.143 through 6.6.*Not affected
  • 6.12.93 through 6.12.*Not affected
  • 6.18.35 through 6.18.*Not affected
  • 7.0.12 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.