CVE-2026-43037 PUBLISHED

ip6_tunnel: clear skb2->cb[] in ip4ip6_err()

Assigner: Linux
Reserved: 01.05.2026 Published: 01.05.2026 Updated: 01.05.2026

In the Linux kernel, the following vulnerability has been resolved:

ip6_tunnel: clear skb2->cb[] in ip4ip6_err()

Oskar Kjos reported the following problem.

ip4ip6_err() calls icmp_send() on a cloned skb whose cb[] was written by the IPv6 receive path as struct inet6_skb_parm. icmp_send() passes IPCB(skb2) to __ip_options_echo(), which interprets that cb[] region as struct inet_skb_parm (IPv4). The layouts differ: inet6_skb_parm.nhoff at offset 14 overlaps inet_skb_parm.opt.rr, producing a non-zero rr value. __ip_options_echo() then reads optlen from attacker-controlled packet data at sptr[rr+1] and copies that many bytes into dopt->__data, a fixed 40-byte stack buffer (IP_OPTIONS_DATA_FIXED_SIZE).

To fix this we clear skb2->cb[], as suggested by Oskar Kjos.

Also add minimal IPv4 header validation (version == 4, ihl >= 5).

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to ea9f65b27c8404e164848ebff1443310fd187629 (excl.)
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to d6621f60192fe10c047a4487be42a6f4c150707f (excl.)
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to 2cc6e3b0fe0f0242d1f530a93a4924f48ab85ba5 (excl.)
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to a0c4ce9900a108eaf55d0f3b399cb55999647d39 (excl.)
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to 1063515ce15ff31065c4e7f8265f4c2fd3c54876 (excl.)
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to 590f622669b97eaf7b57a1de7b0a6e68c5d8b2c3 (excl.)
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to 4a622658f384b03560834cbe8ffcfe69a278f7c8 (excl.)
  • affected from c4d3efafcc933fd2ffd169d7dc4f980393a13796 to 2edfa31769a4add828a7e604b21cb82aaaa05925 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.22 is affected
  • unaffected from 0 to 2.6.22 (excl.)
  • unaffected from 5.10.253 to 5.10.* (incl.)
  • unaffected from 5.15.203 to 5.15.* (incl.)
  • unaffected from 6.1.168 to 6.1.* (incl.)
  • unaffected from 6.6.134 to 6.6.* (incl.)
  • unaffected from 6.12.81 to 6.12.* (incl.)
  • unaffected from 6.18.22 to 6.18.* (incl.)
  • unaffected from 6.19.12 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References