In the Linux kernel, the following vulnerability has been resolved: ipvs: use parsed transport offset in TCP state lookup TCP state handling reparses the skb to find the TCP header. For IPv6 it uses sizeof(struct ipv6hdr), while the surrounding IPVS code already parsed the packet with ip_vs_fill_iph_skb() and has the real transport-header offset in iph.len. This makes TCP state handling look at the wrong bytes when an IPv6 packet carries extension headers. Use the parsed transport offset passed down from ip_vs_set_state() when reading the TCP header. For IPv4 and for IPv6 packets without extension headers, the passed offset matches the previous value.
https://git.kernel.org/stable/c/f6f550f26562d191c30b2818e7925dcb1c7f166c
https://git.kernel.org/stable/c/d73f4249776dd970ad65a69cfc51613dd8a034bb
https://git.kernel.org/stable/c/d45f73c274435703e8d7bc9d8b742a5d9111ab6e
https://git.kernel.org/stable/c/c2ee845e292c278fac75bf28d96bc892607fd5c4
https://git.kernel.org/stable/c/816efb7fc0aeae986e63ac73b428dd97a4ef69f5
https://git.kernel.org/stable/c/5848e914b85e360a2dd9d19c00a72e2ea9617dd0
https://git.kernel.org/stable/c/2d06e0897ce18228d199887f0823b431d841dd03
https://git.kernel.org/stable/c/2500fa3958b1ba51c2b065e39db1b04dfa7e23a2