VYPR
Unrated severityNVD Advisory· Published Mar 25, 2026· Updated Apr 18, 2026

CVE-2026-23300

CVE-2026-23300

Description

In the Linux kernel, the following vulnerability has been resolved:

net: ipv6: fix panic when IPv4 route references loopback IPv6 nexthop

When a standalone IPv6 nexthop object is created with a loopback device (e.g., "ip -6 nexthop add id 100 dev lo"), fib6_nh_init() misclassifies it as a reject route. This is because nexthop objects have no destination prefix (fc_dst=::), causing fib6_is_reject() to match any loopback nexthop. The reject path skips fib_nh_common_init(), leaving nhc_pcpu_rth_output unallocated. If an IPv4 route later references this nexthop, __mkroute_output() dereferences NULL nhc_pcpu_rth_output and panics.

Simplify the check in fib6_nh_init() to only match explicit reject routes (RTF_REJECT) instead of using fib6_is_reject(). The loopback promotion heuristic in fib6_is_reject() is handled separately by ip6_route_info_create_nh(). After this change, the three cases behave as follows:

1. Explicit reject route ("ip -6 route add unreachable 2001:db8::/64"): RTF_REJECT is set, enters reject path, skips fib_nh_common_init(). No behavior change.

2. Implicit loopback reject route ("ip -6 route add 2001:db8::/32 dev lo"): RTF_REJECT is not set, takes normal path, fib_nh_common_init() is called. ip6_route_info_create_nh() still promotes it to reject afterward. nhc_pcpu_rth_output is allocated but unused, which is harmless.

3. Standalone nexthop object ("ip -6 nexthop add id 100 dev lo"): RTF_REJECT is not set, takes normal path, fib_nh_common_init() is called. nhc_pcpu_rth_output is properly allocated, fixing the crash when IPv4 routes reference this nexthop.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A Linux kernel panic occurs when an IPv4 route references an IPv6 nexthop object configured on the loopback device.

Root

Cause

In the Linux kernel, when an IPv6 nexthop object (e.g., ip -6 nexthop add id 100 dev lo) is created on a loopback device, fib6_nh_init() misclassifies it as a reject route because the nexthop has no destination prefix (fc_dst=::), causing fib6_is_reject() to match [1]. For reject routes, fib_nh_common_init() is not called, leaving nhc_pcpu_rth_output unallocated.

Exploitation

An attacker with sufficient privileges to create a standalone IPv6 nexthop on the loopback interface and later add an IPv4 route referencing that nexthop can trigger the bug. No authentication is required beyond local root access, but the attack requires control over the system's routing configuration.

Impact

When an IPv4 route subsequently references the misclassified nexthop, __mkroute_output() dereferences the NULL nhc_pcpu_rth_output, causing a kernel panic and system crash [1]. This constitutes a denial-of-service vulnerability.

Mitigation

The fix simplifies the check in fib6_nh_init() to only match explicit reject routes via the RTF_REJECT flag, ensuring standalone nexthops on loopback are properly initialized [1]. Three stable patch commits address the issue [2][3][4]. Administrators should apply the latest kernel updates from their distribution.

AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

8

News mentions

0

No linked articles in our index yet.