Description
In the Linux kernel, the following vulnerability has been resolved: net: gso: limit recursive IP-in-IP segmentation IP-in-IP GSO can re-enter inet_gso_segment() or ipv6_gso_segment() for each nested IP header. encap_level tracks header bytes, not callback depth, so a deep chain can exhaust the kernel stack. Making inet_gso_segment() stackable introduced unbounded IPv4 nesting; IPIP GSO/TSO later made the path reachable. The IPv6 stackable path was introduced separately and uses the same guard. Count IPv4 and IPv6 GSO handler entries in skb_gso_cb, initialized once per top-level GSO operation and preserved across GRE/UDP context changes. Use the existing IP_TUNNEL_RECURSION_LIMIT for both handlers. The first five entries pass, and the sixth returns -EINVAL before dispatching another GSO callback.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
3347c960295583eee3fd58e5c539fb1972fbc005 to < 388604279da3d0698a151efa4fb6d852efa0de4aaffected3347c960295583eee3fd58e5c539fb1972fbc005 to < c949646c900e879afce47df1b607fa320eb63bf2affected3347c960295583eee3fd58e5c539fb1972fbc005 to < 006c8b834aed8b02bd8fb9fb05e9e7ead37d1763affected
Linux Linux
Default version status: affected
3.13affected0 to < 3.13unaffected6.18.60 to ≤ 6.18.*unaffected7.2.10 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected