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 WARN_ON_ONCE() from the dev_fill_forward_path() loop check ipip_fill_forward_path() and ip6_tnl_fill_forward_path() 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. dev_fill_forward_path() then makes no progress and trips WARN_ON_ONCE(last_dev == ctx->dev) as soon as a flowtable tries to offload a flow through the tunnel. That routing loop is a configuration any CAP_NET_ADMIN user can set up, and ip_tunnel_xmit() and ip6_tnl_xmit() already treat it as a tx error, so remove the warning and just fail the walk, as commit 008e7a7c293b ("net: remove WARN_ON_ONCE when accessing forward path array") did for the path stack overflow.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 7.2.8
- CVEs
- CVE-2026-98278
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 01:40 UTC · Revision 1
Source evidence
net: remove WARN_ON_ONCE() from the dev_fill_forward_path() loop check
core-osv · Original sourcePublished 6 Oct 2026, 08:45 UTC
In the Linux kernel, the following vulnerability has been resolved: net: remove WARN_ON_ONCE() from the dev_fill_forward_path() loop check ipip_fill_forward_path() and ip6_tnl_fill_forward_path() 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. dev_fill_forward_path() then makes no progress and trips WARN_ON_ONCE(last_dev == ctx->dev) as soon as a flowtable tries to offload a flow through the tunnel. That routing loop is a configuration any CAP_NET_ADMIN user can set up, and ip_tunnel_xmit() and ip6_tnl_xmit() already treat it as a tx error, so remove the warning and just fail the walk, as commit 008e7a7c293b ("net: remove WARN_ON_ONCE when accessing forward path array") did for the path stack overflow.
osv:CVE-2026-98278
Kernel
Fixed versions: 7.2.8
Complete source record
{
"id": "756e768339547ecb1ec4113c348324878ce5b457d7a0203b772e79560e56dab7",
"url": "https://osv.dev/vulnerability/CVE-2026-98278",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "net: remove WARN_ON_ONCE() from the dev_fill_forward_path() loop check",
"summary": "In the Linux kernel, the following vulnerability has been resolved: net: remove WARN_ON_ONCE() from the dev_fill_forward_path() loop check ipip_fill_forward_path() and ip6_tnl_fill_forward_path() 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. dev_fill_forward_path() then makes no progress and trips WARN_ON_ONCE(last_dev == ctx->dev) as soon as a flowtable tries to offload a flow through the tunnel. That routing loop is a configuration any CAP_NET_ADMIN user can set up, and ip_tunnel_xmit() and ip6_tnl_xmit() already treat it as a tx error, so remove the warning and just fail the walk, as commit 008e7a7c293b (\"net: remove WARN_ON_ONCE when accessing forward path array\") did for the path stack overflow.",
"evidence": "osv:CVE-2026-98278",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "7.2.8",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-98278",
"aliases": [
"CVE-2026-98278"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "ab427db17885814069bae891834f20842f0ac3a4"
},
{
"fixed": "d8eb177632dacda28bc6130c2105afbf5b791eb0"
},
{
"fixed": "150dba2c69e93302af24a0c868eebe4871e2e107"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98278.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.2.8"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-98278.json"
}
}
],
"modified": "2026-10-28T02:30:41.207592271Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/150dba2c69e93302af24a0c868eebe4871e2e107",
"https://git.kernel.org/stable/c/d8eb177632dacda28bc6130c2105afbf5b791eb0",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98278.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-98278",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/98xxx/CVE-2026-98278.json"
}
},
"related_cves": [
{
"value": "CVE-2026-98278",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 509117,
"published_at": "2026-10-06T08:45:38.346+00:00"
}