{"id":"CVE-2026-63829","revision":"9e70e45102ee4aff84f2a76bc6289b23","records":[{"revision":"9e70e45102ee4aff84f2a76bc6289b23","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-63829","aliases":[],"title":"net: ip_gre: require CAP_NET_ADMIN in the device netns for changelink","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: ip_gre: require CAP_NET_ADMIN in the device netns for changelink\n\nA tunnel changelink() operates on at most two netns, dev_net(dev) and\nthe tunnel link netns t->net. They differ once the device is created in\nor moved to a netns other than the one the request runs in. The rtnl\nchangelink path checks CAP_NET_ADMIN only against dev_net(dev), so a\ncaller privileged there but not in t->net can rewrite a tunnel that\nlives in t->net.\n\nAdd rtnl_dev_link_net_capable() next to rtnl_get_net_ns_capable() in\nnet/core/rtnetlink.c. It requires CAP_NET_ADMIN in the link netns and is\nskipped when the link netns is dev_net(dev), where the rtnl path already\nchecked it. The other patches in this series use the same helper.\n\nGate ipgre_changelink() and erspan_changelink() with it, at the top of\nthe op before any attribute is parsed, because the parsers update live\ntunnel fields first. ipgre_netlink_parms() sets t->collect_md before\nip_tunnel_changelink() runs.\n\nCommit 8b484efd5cb4 (\"ip6: vti: Use ip6_tnl.net in\nvti6_siocdevprivate().\") added the same check on the ioctl path. This\nadds it on RTM_NEWLINK.","state":0,"publishedAt":"2026-07-19T12:02:23.191+00:00","modifiedAt":"2026-10-19T20:07:49.035+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"include/net/rtnetlink.h\",\n                        \"net/core/rtnetlink.c\",\n                        \"net/ipv4/ip_gre.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"19275943d8fe903eb7b9aa53e380e41efd042ada\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"866b0f5ae599490bd496fd84581c68ac8b94e6af\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"92b766fc55156e0da2ecd0c2302c971118f8a229\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"e54c05ed3d9c28733fb9e5837219aca3691defa3\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"9831bc9ecb402957810c2045c663fbfe9b09e296\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"1697957eb0971d420dde42862b88eb43506a1105\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"47b5d3d506609b08b2e1f7c14f0b681a1953d572\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"b57708add31494175be741ed3fd24023b50c3423\",\n                            \"lessThan\": \"8165f7ff57d9667d2bb477ef6af83ede7fed4ad7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"include/net/rtnetlink.h\",\n                        \"net/core/rtnetlink.c\",\n                        \"net/ipv4/ip_gre.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.16\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.16\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.261\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.212\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.178\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.145\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.95\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.38\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.1.3\",\n                            \"lessThanOrEqual\": \"7.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","score":8.8,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/19275943d8fe903eb7b9aa53e380e41efd042ada","https://git.kernel.org/stable/c/866b0f5ae599490bd496fd84581c68ac8b94e6af","https://git.kernel.org/stable/c/92b766fc55156e0da2ecd0c2302c971118f8a229","https://git.kernel.org/stable/c/e54c05ed3d9c28733fb9e5837219aca3691defa3","https://git.kernel.org/stable/c/9831bc9ecb402957810c2045c663fbfe9b09e296","https://git.kernel.org/stable/c/1697957eb0971d420dde42862b88eb43506a1105","https://git.kernel.org/stable/c/47b5d3d506609b08b2e1f7c14f0b681a1953d572","https://git.kernel.org/stable/c/8165f7ff57d9667d2bb477ef6af83ede7fed4ad7"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-63829","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-63829","identifiers":["CVE-2026-63829"]},"retained":false,"historicalAffected":[]}],"coverage":[]}