netfilter: nft_inner: Fix IPv6 inner_thoff desync
CVE-2026-46244
What is CVE-2026-46244?
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nft_inner: Fix IPv6 inner_thoff desync
In nft_inner_parse_l2l3(), when processing inner IPv6 packets, ipv6_find_hdr() correctly computes the transport header offset traversing all extension headers, but the result is immediately overwritten with nhoff + sizeof(_ip6h) (40 bytes), which only accounts for the IPv6 base header. This creates a desync between inner_thoff (wrong — points to extension header start) and l4proto (correct — e.g., IPPROTO_TCP), enabling transport header forgery and potential firewall bypass. This issue affects stable versions from Linux 6.2.
For comparison, the normal (non-inner) IPv6 path correctly preserves ipv6_find_hdr()'s result. Removing the incorrect overwrite ensures that ipv6_find_hdr()'s calculated transport header offset is preserved, thereby fixing the desynchronization.
Affected Version(s)
Linux 3a07327d10a09379315c844c63f27941f5081e0a
Linux 3a07327d10a09379315c844c63f27941f5081e0a < 870d59e2cf218e7418491e26bad768cb16654582
Linux 3a07327d10a09379315c844c63f27941f5081e0a < 689bbf48c1f45130086ae1c46ab83ea4c753c601