CVE-2026-99041
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: ip6_gre: remove obsolete ERSPAN PMTU update A tc tunnel_key action can attach a METADATA_IP_TUNNEL dst to an skb, and mirred can redirect it to a native ip6erspan device. The legacy PMTU update in ip6erspan_tunnel_xmit() treats that metadata dst as a route. Since it has no output device, dst_dev(dst)->mtu dereferences NULL. On v7.2 with KASAN, an initial UID/GID 65534 process with CapEff 0 used self-created user and network namespaces to trigger: KASAN: null-ptr-deref RIP: ip6erspan_tunnel_xmit+0x10fc/0x2cc0 Kernel panic - not syncing: Fatal exception in interrupt The update is obsolete. Commit fe1a4ca0a2b7 ("ip6_gre: process toobig in a better way") changed IPv6 GRE Too Big handling to update the underlay route and removed the equivalent block from __gre6_xmit(). ip6_tnl_xmit() then propagates the underlay PMTU to the overlay route. Remove the stale ERSPAN copy and its now-unused dst variable. This eliminates the metadata-dst dereference and keeps ERSPAN aligned with IPv6 GRE PMTU handling.
View original CVE JSON
{
"id": "CVE-2026-99041",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-23T13:17:27.487",
"lastModified": "2026-10-30T13:21:41.327",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nip6_gre: remove obsolete ERSPAN PMTU update\n\nA tc tunnel_key action can attach a METADATA_IP_TUNNEL dst to an skb,\nand mirred can redirect it to a native ip6erspan device. The legacy PMTU\nupdate in ip6erspan_tunnel_xmit() treats that metadata dst as a route.\nSince it has no output device, dst_dev(dst)->mtu dereferences NULL.\n\nOn v7.2 with KASAN, an initial UID/GID 65534 process with CapEff 0 used\nself-created user and network namespaces to trigger:\n\n KASAN: null-ptr-deref\n RIP: ip6erspan_tunnel_xmit+0x10fc/0x2cc0\n Kernel panic - not syncing: Fatal exception in interrupt\n\nThe update is obsolete. Commit fe1a4ca0a2b7 (\"ip6_gre: process toobig\nin a better way\") changed IPv6 GRE Too Big handling to update the\nunderlay route and removed the equivalent block from __gre6_xmit().\nip6_tnl_xmit() then propagates the underlay PMTU to the overlay route.\n\nRemove the stale ERSPAN copy and its now-unused dst variable. This\neliminates the metadata-dst dereference and keeps ERSPAN aligned with\nIPv6 GRE PMTU handling."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"net/ipv6/ip6_gre.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "5a963eb61b7c39e6c422b6e48619d19d04719358",
"lessThan": "2e151c74bcc53e3ed313bd1c21b0d5bb442edbc0",
"versionType": "git",
"status": "affected"
},
{
"version": "5a963eb61b7c39e6c422b6e48619d19d04719358",
"lessThan": "ba72ed1c8476ce68eb7152dfcbc5330cefcbaa91",
"versionType": "git",
"status": "affected"
},
{
"version": "5a963eb61b7c39e6c422b6e48619d19d04719358",
"lessThan": "b14a682ad7d45345701e08f9279d483a1da8b36c",
"versionType": "git",
"status": "affected"
},
{
"version": "5a963eb61b7c39e6c422b6e48619d19d04719358",
"lessThan": "f5b143f4cd3fb7673df8d727550478a4b762908a",
"versionType": "git",
"status": "affected"
},
{
"version": "5a963eb61b7c39e6c422b6e48619d19d04719358",
"lessThan": "2d06cb25a497d3a7034ef9d172626c2d6620a0f1",
"versionType": "git",
"status": "affected"
},
{
"version": "5a963eb61b7c39e6c422b6e48619d19d04719358",
"lessThan": "8f27260b989f488760289276377db24fbfb20bfa",
"versionType": "git",
"status": "affected"
},
{
"version": "5a963eb61b7c39e6c422b6e48619d19d04719358",
"lessThan": "8bc60db48e8cba35488bbd6e1f94aa990afa275a",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"net/ipv6/ip6_gre.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "4.16",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.16",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.224",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.160",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.114",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.58",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.11",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/2d06cb25a497d3a7034ef9d172626c2d6620a0f1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/2e151c74bcc53e3ed313bd1c21b0d5bb442edbc0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8bc60db48e8cba35488bbd6e1f94aa990afa275a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8f27260b989f488760289276377db24fbfb20bfa",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/b14a682ad7d45345701e08f9279d483a1da8b36c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ba72ed1c8476ce68eb7152dfcbc5330cefcbaa91",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/f5b143f4cd3fb7673df8d727550478a4b762908a",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}