CVE Catalog

CVE-2026-63917

HighCVSS 8.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

6th percentile - higher than 6% of all known CVEs

Summary

A vulnerability in the Linux kernel's VTI6 (Virtual Tunnel Interface for IPv6) driver was found. After moving a VTI6 interface between network namespaces (netns), the vti6_changelink() and vti6_update() functions use a stale network reference (dev_net instead of t->net), leaving a stale entry in the original namespace's hash table. This causes a kernel BUG when cleaning up that namespace, allowing an attacker in an unprivileged container to crash the system.

Risk Assessment

The organization is at risk of a denial-of-service (DoS) attack from an unprivileged container that can move a VTI6 interface between namespaces and trigger a kernel crash. This vulnerability can be exploited in multi-tenant environments (e.g., container hosting), destabilizing the entire host.

Recommendation

Immediately update the Linux kernel to a version containing the fix (commit 61220ab34948 or later). If an update is not possible, temporarily restrict the ability to change namespaces for VTI6 interfaces using security policies (e.g., AppArmor, seccomp).

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: ip6: vti: Use ip6_tnl.net in vti6_changelink(). ip netns add ns1 ip netns add ns2 ip -n ns1 link add vti6_test type vti6 remote ::1 local ::2 key 7 ip -n ns1 link set vti6_test netns ns2 ip -n ns2 link set vti6_test type vti6 remote ::3 local ::4 key 9 ip netns del ns2 ip netns del ns1 [ 132.495484] ------------[ cut here ]------------ [ 132.497609] kernel BUG at net/core/dev.c:12376! Commit 61220ab34948 ("vti6: Enable namespace changing") dropped NETIF_F_NETNS_LOCAL from vti6 devices. A vti6 tunnel can then move through IFLA_NET_NS_FD. After the move dev_net(dev) points at the new netns while t->net stays at the creation netns. vti6_changelink() and vti6_update() still use dev_net(dev) and dev_net(t->dev). They unlink from one per netns hash and relink into another. The creation netns is left with a stale entry. cleanup_net() of that netns later walks freed memory. Reachable from an unprivileged user namespace (unshare --user --map-root-user --net). Cross tenant scope on container hosts.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS