CVE-2026-23276

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/03/2026
Last modified:
20/03/2026

Description

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

Impact