CVE-2026-98278: net: remove WARN_ON_ONCE() from the dev_fill_forward_path() loop check
In the Linux kernel, the following vulnerability has been resolved:
net: remove WARNONONCE() from the devfillforwardpath() loop check
ipipfillforwardpath() and ip6tnlfillforwardpath() look up the route to the tunnel's remote endpoint and set ctx->dev to its device, which is the tunnel itself when that route resolves back to the tunnel. devfillforwardpath() then makes no progress and trips WARNONONCE(lastdev == ctx->dev) as soon as a flowtable tries to offload a flow through the tunnel. That routing loop is a configuration any CAPNETADMIN user can set up, and iptunnelxmit() and ip6tnlxmit() already treat it as a tx error, so remove the warning and just fail the walk, as commit 008e7a7c293b ("net: remove WARNONONCE when accessing forward path array") did for the path stack overflow.
Affected Software
Event History
Frequently Asked Questions
Who can create the condition that triggers this issue?
A user with CAP_NET_ADMIN can configure a routing loop in which an IPIP or IPv6 tunnel's remote endpoint resolves back to the same tunnel device.
When is the warning triggered?
It occurs when a flowtable attempts to offload a flow through an affected tunnel configuration. The forward-path walk makes no progress because the resolved device remains the tunnel itself.
What happens after the fix when such a routing loop exists?
The forward-path walk fails without emitting WARN_ON_ONCE. Tunnel transmission paths already treat this routing-loop condition as a transmit error.