{"id":"CVE-2026-63917","state":"PUBLISHED","title":"ip6: vti: Use ip6_tnl.net in vti6_changelink().","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nip6: vti: Use ip6_tnl.net in vti6_changelink().\n\nip netns add ns1\nip netns add ns2\nip -n ns1 link add vti6_test type vti6 remote ::1 local ::2 key 7\nip -n ns1 link set vti6_test netns ns2\nip -n ns2 link set vti6_test type vti6 remote ::3 local ::4 key 9\nip netns del ns2\nip netns del ns1\n[  132.495484] ------------[ cut here ]------------\n[  132.497609] kernel BUG at net/core/dev.c:12376!\n\nCommit 61220ab34948 (\"vti6: Enable namespace changing\") dropped\nNETIF_F_NETNS_LOCAL from vti6 devices. A vti6 tunnel can then\nmove through IFLA_NET_NS_FD. After the move dev_net(dev) points\nat the new netns while t->net stays at the creation netns.\n\nvti6_changelink() and vti6_update() still use dev_net(dev) and\ndev_net(t->dev). They unlink from one per netns hash and relink\ninto another. The creation netns is left with a stale entry.\ncleanup_net() of that netns later walks freed memory.\n\nReachable from an unprivileged user namespace (unshare --user\n--map-root-user --net). Cross tenant scope on container hosts.","publishedAt":"2026-07-19T14:55:20.703Z","updatedAt":"2026-10-19T20:17:55.945Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"0cdce7618464f7fb06f461e8f4ad575cb1d570f4","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"f5c68875e25f331e497ddfbe81e2d8163a87f136","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"d9c5eecdb3c740e65038651db7c686b10d76d1bc","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"f1e89a943ee574d0f2f16246eb3f2d7330fdeb03","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"225b467e3b631f38be22e4b38062a1fed02fdd21","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"fc32be9ac2788524c6b24efd681cce7a6e731a92","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"ee1778ba0f5cb53be771f97017d01eb356c797bf","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"11b326fb0a374f4654f9be22d0f0f7abd9f7d3fe","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/ip6_vti.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.15","versionType":"semver"},{"version":"5.10.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/ip6_vti.c"]}],"references":["https://git.kernel.org/stable/c/0cdce7618464f7fb06f461e8f4ad575cb1d570f4","https://git.kernel.org/stable/c/f5c68875e25f331e497ddfbe81e2d8163a87f136","https://git.kernel.org/stable/c/d9c5eecdb3c740e65038651db7c686b10d76d1bc","https://git.kernel.org/stable/c/f1e89a943ee574d0f2f16246eb3f2d7330fdeb03","https://git.kernel.org/stable/c/225b467e3b631f38be22e4b38062a1fed02fdd21","https://git.kernel.org/stable/c/fc32be9ac2788524c6b24efd681cce7a6e731a92","https://git.kernel.org/stable/c/ee1778ba0f5cb53be771f97017d01eb356c797bf","https://git.kernel.org/stable/c/11b326fb0a374f4654f9be22d0f0f7abd9f7d3fe"],"weaknesses":["CWE-416"],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/63xxx/CVE-2026-63917.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63917","state":"PUBLISHED","datePublished":"2026-07-19T14:55:20.703Z","dateUpdated":"2026-10-19T20:17:55.945Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T07:54:57.020Z"},"containers":{"cna":{"title":"ip6: vti: Use ip6_tnl.net in vti6_changelink().","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nip6: vti: Use ip6_tnl.net in vti6_changelink().\n\nip netns add ns1\nip netns add ns2\nip -n ns1 link add vti6_test type vti6 remote ::1 local ::2 key 7\nip -n ns1 link set vti6_test netns ns2\nip -n ns2 link set vti6_test type vti6 remote ::3 local ::4 key 9\nip netns del ns2\nip netns del ns1\n[  132.495484] ------------[ cut here ]------------\n[  132.497609] kernel BUG at net/core/dev.c:12376!\n\nCommit 61220ab34948 (\"vti6: Enable namespace changing\") dropped\nNETIF_F_NETNS_LOCAL from vti6 devices. A vti6 tunnel can then\nmove through IFLA_NET_NS_FD. After the move dev_net(dev) points\nat the new netns while t->net stays at the creation netns.\n\nvti6_changelink() and vti6_update() still use dev_net(dev) and\ndev_net(t->dev). They unlink from one per netns hash and relink\ninto another. The creation netns is left with a stale entry.\ncleanup_net() of that netns later walks freed memory.\n\nReachable from an unprivileged user namespace (unshare --user\n--map-root-user --net). Cross tenant scope on container hosts."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"0cdce7618464f7fb06f461e8f4ad575cb1d570f4","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"f5c68875e25f331e497ddfbe81e2d8163a87f136","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"d9c5eecdb3c740e65038651db7c686b10d76d1bc","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"f1e89a943ee574d0f2f16246eb3f2d7330fdeb03","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"225b467e3b631f38be22e4b38062a1fed02fdd21","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"fc32be9ac2788524c6b24efd681cce7a6e731a92","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"ee1778ba0f5cb53be771f97017d01eb356c797bf","versionType":"git"},{"version":"61220ab349485d911083d0b7990ccd3db6c63297","status":"affected","lessThan":"11b326fb0a374f4654f9be22d0f0f7abd9f7d3fe","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/ip6_vti.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.15","versionType":"semver"},{"version":"5.10.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv6/ip6_vti.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/0cdce7618464f7fb06f461e8f4ad575cb1d570f4"},{"url":"https://git.kernel.org/stable/c/f5c68875e25f331e497ddfbe81e2d8163a87f136"},{"url":"https://git.kernel.org/stable/c/d9c5eecdb3c740e65038651db7c686b10d76d1bc"},{"url":"https://git.kernel.org/stable/c/f1e89a943ee574d0f2f16246eb3f2d7330fdeb03"},{"url":"https://git.kernel.org/stable/c/225b467e3b631f38be22e4b38062a1fed02fdd21"},{"url":"https://git.kernel.org/stable/c/fc32be9ac2788524c6b24efd681cce7a6e731a92"},{"url":"https://git.kernel.org/stable/c/ee1778ba0f5cb53be771f97017d01eb356c797bf"},{"url":"https://git.kernel.org/stable/c/11b326fb0a374f4654f9be22d0f0f7abd9f7d3fe"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The bug is reached only through rtnetlink configuration (RTM_NEWLINK changelink and RTM_SETLINK netns move via `ip link`), not through remote packet handling on the vti6 tunnel itself.\nAC:L - Exploitation is a deterministic, attacker-controlled sequence (create vti6, move netns, changelink, delete netns) with no races or external victim state required.\nPR:L - The fix commit and rtnetlink path confirm reachability with CAP_NET_ADMIN inside an unprivileged user+network namespace (`unshare --user --map-root-user --net`), not init-namespace root.\nUI:N - No victim interaction is required; the attacker triggers the bug entirely through their own netlink operations.\nS:C - On container hosts, an unprivileged tenant can corrupt namespace teardown and panic the host kernel, impacting resources outside the attacker's security scope (other tenants and the host).\nC:H - The stale per-netns hash leaves `cleanup_net()`/`vti6_exit_rtnl_net()` walking freed `ip6_tnl` list nodes, constituting a use-after-free with arbitrary kernel memory read potential.\nI:H - Cross-netns hash corruption can leave dangling pointers and drive `unregister_netdevice_queue()` on already-freed devices (kernel BUG at net/core/dev.c:12376), enabling memory corruption exploitable for control-flow hijacking.\nA:H - The published reproducer reliably triggers a kernel BUG during namespace cleanup, causing host-wide denial of service via kernel panic/oops."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:37:11.588Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.12.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.18.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"7.0.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-63917","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T15:33:18.521375Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-416","lang":"en","type":"CWE","description":"CWE-416 Use After Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:17:55.945Z"}}]}}}