MEDIUM 5.5

CVE-2026-53012: Linux Kernel NULL Pointer Dereference in IPv6 Nexthop Routing

CVE-2026-53012 is a kernel bug affecting IPv6 routing in Linux. The issue occurs when an IPv6 nexthop (a routing destination point) is replaced with an IPv4 one, and the system fails to update its internal tracking flags. This mismatch causes the kernel to attempt operations on IPv4 routing data while treating it as IPv6, resulting in a crash when traffic tries to use the affected route. An unprivileged local user with network namespace privileges can trigger this by crafting specific routing configuration changes and then sending IPv6 traffic.

Source data · NVD / CISA · public domain

CVSS
3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses (CWE)
CWE-476
Affected products
1 configuration(s)
Published / Modified
2026-06-24 / 2026-07-14

NVD description (verbatim)

In the Linux kernel, the following vulnerability has been resolved: nexthop: fix IPv6 route referencing IPv4 nexthop syzbot reported a panic [1] [2]. When an IPv6 nexthop is replaced with an IPv4 nexthop, the has_v4 flag of all groups containing this nexthop is not updated. This is because nh_group_v4_update is only called when replacing AF_INET to AF_INET6, but the reverse direction (AF_INET6 to AF_INET) is missed. This allows a stale has_v4=false to bypass fib6_check_nexthop, causing IPv6 routes to be attached to groups that effectively contain only AF_INET members. Subsequent route lookups then call nexthop_fib6_nh() which returns NULL for the AF_INET member, leading to a NULL pointer dereference. Fix by calling nh_group_v4_update whenever the family changes, not just AF_INET to AF_INET6. Reproducer: # AF_INET6 blackhole ip -6 nexthop add id 1 blackhole # group with has_v4=false ip nexthop add id 100 group 1 # replace with AF_INET (no -6), has_v4 stays false ip nexthop replace id 1 blackhole # pass stale has_v4 check ip -6 route add 2001:db8::/64 nhid 100 # panic ping -6 2001:db8::1 [1] https://syzkaller.appspot.com/bug?id=e17283eb2f8dcf3dd9b47fe6f67a95f71faadad0 [2] https://syzkaller.appspot.com/bug?id=8699b6ae54c9f35837d925686208402949e12ef3

8 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in the Linux kernel's nexthop subsystem. The has_v4 flag in nexthop groups is meant to track whether the group contains any IPv4 members. The kernel only updates this flag when replacing an AF_INET nexthop with AF_INET6, but fails to update it in the reverse direction—when replacing AF_INET6 with AF_INET. This leaves a stale has_v4=false value that bypasses the fib6_check_nexthop validation, allowing IPv6 routes to be attached to groups containing only IPv4 nexthops. When route lookup later calls nexthop_fib6_nh() on an AF_INET member, it returns NULL, triggering a NULL pointer dereference and kernel panic. The fix requires calling nh_group_v4_update for all address family changes, not just the AF_INET→AF_INET6 direction.

Business impact

This vulnerability enables a denial-of-service attack against systems running affected Linux kernels. A local attacker with namespace or networking privileges can crash the kernel by manipulating nexthop routing configuration, disrupting network connectivity for all services on the system. The impact is limited to local attack surface and does not expose data or enable privilege escalation, but the availability impact is severe—any affected system can be reliably taken offline.

Affected systems

Affected are Linux kernel versions with the nexthop subsystem that do not include the fix. The exact affected range is not specified in vendor advisories and should be verified against official Linux kernel release notes and security advisories. Systems using advanced routing features (nexthop groups, route replacement operations) are more likely to be impacted. This includes modern network appliances, cloud infrastructure nodes, and container hosts that rely on kernel-level routing management.

Exploitability

Exploitability is moderate. The attack requires local access and the ability to execute routing configuration commands (typically requiring CAP_NET_ADMIN or equivalent network namespace privileges). It is not remotely exploitable. The reproducer provided demonstrates the vulnerability is straightforward to trigger for an attacker with the necessary permissions—a simple sequence of nexthop replacement and IPv6 route addition commands followed by ping traffic. No special kernel hardening bypass is needed. This makes it a practical denial-of-service vector in multi-tenant environments or systems where users have network configuration privileges.

Remediation

The primary remediation is to apply a Linux kernel update that includes the fix to nh_group_v4_update. The fix ensures that the has_v4 flag is recalculated whenever a nexthop's address family changes, in both directions (AF_INET to AF_INET6 and vice versa). Verify the specific kernel version containing this fix against your Linux distribution's advisory. As an interim mitigation, restrict CAP_NET_ADMIN and network namespace creation to trusted users only, and monitor for unusual nexthop configuration changes.

Patch guidance

Patch releases containing this fix should be available from your Linux distribution's security update channels. Check your vendor's security advisory for the specific kernel version addressing CVE-2026-53012. Red Hat, Ubuntu, Debian, and other major distributions will release kernel updates separately; do not rely on upstream kernel.org versions alone. Apply the patch during a planned maintenance window that allows for kernel reboot. Test the patched kernel in a staging environment if possible, particularly if your infrastructure relies heavily on nexthop-based routing or network namespaces.

Detection guidance

Monitor system logs and kernel logs for NULL pointer dereference panics (oops messages) occurring during IPv6 route lookups or nexthop operations. Check for Ctrl-Alt-SysRq or kdump crash logs that reference nexthop_fib6_nh() or fib6_check_nexthop(). On systems supporting kernel tracing, enable tracepoints on nexthop replace and route add operations to correlate address family changes with crashes. Audit routing configuration changes using ip nexthop and ip route commands for suspicious replacement patterns (e.g., AF_INET6 replaced with AF_INET in a single operation).

Why prioritize this

Despite the medium CVSS score, this should be prioritized for patching on any system where local users or tenants have network configuration capabilities. The simplicity of exploitation, reliability of the crash, and severity of the resulting denial of service outweigh the CVSS rating. Multi-tenant cloud infrastructure, Kubernetes nodes, and network appliances should be patched urgently. Standalone servers with restricted network administrative access may be deprioritized if local attack surface is already constrained.

Risk score, explained

CVSS 5.5 (Medium) reflects a local-only attack vector, low privileges required, and no impact to confidentiality or integrity. However, the attack guarantees availability impact (kernel crash), requires no user interaction, and is trivial to exploit for an attacker with the necessary local access. The score does not weight the operational severity of kernel panics in production environments; security teams should factor in their reliance on affected systems' uptime and the number of untrusted local users or tenants.

Frequently asked questions

Can this vulnerability be exploited remotely?

No. CVE-2026-53012 requires local access and the ability to execute routing configuration commands, which typically requires CAP_NET_ADMIN or equivalent network namespace privileges. It cannot be triggered remotely over the network.

Does the vulnerability expose sensitive data?

No. The vulnerability results only in a denial of service (kernel crash). It does not leak data, enable file system access, or allow privilege escalation. The impact is strictly availability.

Why does replacing IPv6 with IPv4 nexthops cause a crash?

When the kernel tracks nexthop group contents, it maintains a has_v4 flag to indicate whether any IPv4 members exist. The bug is that this flag is not recalculated when an IPv6 nexthop is replaced with an IPv4 one. IPv6 route lookups then trust the stale flag, attach routes to groups that only contain IPv4 members, and later crash when trying to access IPv6-specific routing data that doesn't exist.

What is a nexthop group and why does it matter?

A nexthop group is a collection of routing destinations used for load balancing or failover in advanced network configurations. The kernel must track whether a group contains IPv4, IPv6, or both types of members to route packets correctly. This vulnerability breaks that tracking mechanism, causing incorrect routing behavior and system crashes.

This analysis is based on the CVE-2026-53012 description and publicly available information as of the advisory date. Specific kernel versions affected, exact patch release dates, and vendor-specific remediation steps should be verified against official Linux distribution security advisories and the Linux kernel security mailing list. Reproduction of this vulnerability should only be performed in isolated test environments. SEC.co makes no guarantees regarding the completeness or real-world applicability of this analysis for any specific environment or use case. Source: NVD (public-domain), retrieved 2026-07-31. Analysis generated by SEC.co (claude-haiku-4-5).