Skip to main content

Linux Kernel CVE-2026-63917

| EUVDEUVD-2026-45690 HIGH
2026-07-19 Linux GHSA-225v-7w3r-pcq9
8.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
8.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI
8.8 HIGH

Local trigger via unprivileged user namespace gives PR:L/AV:L/AC:L; the cross-netns UAF justifies S:C, with A:H confirmed by the crash and C:H/I:H reflecting UAF exploitation potential.

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:N
SUSE
HIGH
qualitative
Red Hat
7.0 HIGH
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 20, 2026 - 16:17 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
8.8 (HIGH)
Patch available
Jul 19, 2026 - 17:19 EUVD
CVE Published
Jul 19, 2026 - 14:55 cve.org
HIGH 8.8
CVE Published
Jul 19, 2026 - 14:55 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

AnalysisAI

Use-after-free memory corruption in the Linux kernel's IPv6 VTI (Virtual Tunnel Interface, vti6) tunnel driver allows a local attacker with access to unprivileged user namespaces to corrupt kernel memory and crash the host or potentially escalate. The flaw arises when a vti6 tunnel device is moved between network namespaces and then reconfigured; the driver tracks the wrong namespace, leaving a stale hash entry that cleanup_net() later dereferences as freed memory. No public exploit identified at time of analysis and EPSS probability is low (0.21%), but the cross-tenant reachability on container hosts makes it a meaningful risk in multi-tenant environments.

Technical ContextAI

The affected component is the IPv6 Virtual Tunnel Interface driver (net/ipv6/ip6_vti.c) in the Linux kernel networking stack, which implements IPsec-protected point-to-point tunnels keyed by remote/local addresses and a key ID stored in per-namespace hash tables. Commit 61220ab34948 ('vti6: Enable namespace changing') removed the NETIF_F_NETNS_LOCAL flag, permitting a vti6 device to be relocated to a different network namespace via IFLA_NET_NS_FD. After such a move, dev_net(dev) reflects the new namespace while the tunnel's internal t->net pointer still references the namespace where it was created. Because vti6_changelink() and vti6_update() unlink and relink the tunnel using dev_net() rather than t->net, the device is removed from the wrong per-netns hash and the creation namespace retains a dangling entry. When that original namespace is torn down, cleanup_net() (net/core/dev.c) walks freed memory, triggering the kernel BUG at dev.c:12376. The root cause class is a use-after-free / stale reference (CWE-416, though the feed lists CWE as N/A and tags it 'Information Disclosure').

RemediationAI

Apply the vendor-released kernel patch by upgrading to a fixed maintenance release for your branch: 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.93, 6.18.35, 7.0.12, or 7.1 or later; the corresponding stable commits are available at git.kernel.org/stable/c/ (for example https://git.kernel.org/stable/c/225b467e3b631f38be22e4b38062a1fed02fdd21). If immediate patching is not possible, the most effective compensating control is to restrict the attack surface that reaches this code: disable unprivileged user namespaces via 'sysctl kernel.unprivileged_userns_clone=0' (Debian/Ubuntu) or 'user.max_user_namespaces=0', which prevents unprivileged users from creating the netns needed to trigger the bug - with the trade-off that container runtimes and sandboxes relying on unprivileged user namespaces (rootless Docker/Podman, Chrome sandbox) may break. Where user namespaces must remain enabled, restrict creation of vti6 tunnel interfaces and network namespaces to trusted workloads, and avoid granting CAP_NET_ADMIN inside untrusted containers. Blocking or unloading the ip6_vti module (if unused) via modprobe blacklist removes the vulnerable code path entirely, at the cost of losing IPv6 VTI tunneling.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-63917 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy