Skip to content
Heist/ feed
Unrated

net: add xmit recursion limit to tunnel xmit functions

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: net: add xmit recursion limit to tunnel xmit functions Tunnel xmit functions (iptunnel_xmit, ip6tunnel_xmit) lack their own recursion limit. When a bond device in broadcast mode has GRE tap interfaces as slaves, and those GRE tunnels route back through the bond, multicast/broadcast traffic triggers infinite recursion between bond_xmit_broadcast() and ip_tunnel_xmit()/ip6_tnl_xmit(), causing kernel stack overflow. The existing XMIT_RECURSION_LIMIT (8) in the no-qdisc path is not sufficient because tunnel recursion involves route lookups and full IP output, consuming much more stack per level. Use a lower limit of 4 (IP_TUNNEL_RECURSION_LIMIT) to prevent overflow. Add recursion detection using dev_xmit_recursion helpers directly in iptunnel_xmit() and ip6tunnel_xmit() to cover all IPv4/IPv6 tunnel paths including UDP encapsulated tunnels (VXLAN, Geneve, etc.). Move dev_xmit_recursion helpers from net/core/dev.h to public header include/linux/netdevice.h so they can be used by tunnel code. BUG: KASAN: stack-out-of-bounds in blake2s.constprop.0+0xe7/0x160 Write of size 32 at addr ffff88810033fed0 by task kworker/0:1/11 Workqueue: mld mld_ifc_work Call Trace: __build_flow_key.constprop.0 (net/ipv4/route.c:515) ip_rt_update_pmtu (net/ipv4/route.c:1073) iptunnel_xmit (net/ipv4/ip_tunnel_core.c:84) ip_tunnel_xmit (net/ipv4/ip_tunnel.c:847) gre_tap_xmit (net/ipv4/ip_gre.c:779) dev_hard_start_xmit (net/core/dev.c:3887)

Announced Group revision 1
Original source ↗

CVE-2026-23276

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-23276

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "745e20f1b626b1be4b100af5d4bf7b3439392f8f",
        "lessThan": "da5f0166cef3d4285ddbb1b638661263fc03ee92",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "745e20f1b626b1be4b100af5d4bf7b3439392f8f",
        "lessThan": "834c4f645726a25fd71ea50cdfb5c135f8f95d85",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "745e20f1b626b1be4b100af5d4bf7b3439392f8f",
        "lessThan": "8a57deeb256069f262957d8012418559ff66c385",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "745e20f1b626b1be4b100af5d4bf7b3439392f8f",
        "lessThan": "b56b8d19bd05e2a8338385c770bc2b60590bc81e",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "745e20f1b626b1be4b100af5d4bf7b3439392f8f",
        "lessThan": "6f1a9140ecda3baba3d945b9a6155af4268aafc4",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "3f266b04185de51d8e6446eb1fccec3b5e7ce575",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "2.6.35.9",
        "lessThan": "2.6.36",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "include/linux/netdevice.h",
      "include/net/ip6_tunnel.h",
      "include/net/ip_tunnels.h",
      "net/core/dev.h",
      "net/ipv4/ip_tunnel_core.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "2.6.37"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "2.6.37",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.6.160",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.78",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.19",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "6.19.9",
        "versionType": "semver",
        "lessThanOrEqual": "6.19.*"
      },
      {
        "status": "unaffected",
        "version": "7.0",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "include/linux/netdevice.h",
      "include/net/ip6_tunnel.h",
      "include/net/ip_tunnels.h",
      "net/core/dev.h",
      "net/ipv4/ip_tunnel_core.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-23276

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#46117 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement