CVE-2026-98241
Description
In the Linux kernel, the following vulnerability has been resolved: ipv6: xfrm: use full sockets in local error paths xfrm6_local_rxpmtu() and xfrm6_local_error() dereference skb->sk as if it always pointed at a full IPv6 socket. That is not guaranteed. TCP SYN-ACK skbs can be owned by a TCP_NEW_SYN_RECV request_sock while the output path itself is driven by the full listener. If rerouting selects an IPv6 XFRM tunnel route with a lower MTU, the local PMTU/error handling path can reach these callbacks with that mini-socket still attached to the skb. The callbacks then miscast the request socket as a full inet/IPv6 socket and can read beyond the request_sock allocation when they access inet_sock or ipv6_pinfo state. Resolve the owner with skb_to_full_sk() in both callbacks and bail out when no full socket is attached. This matches the surrounding XFRM IPv6 PMTU/error logic, which already reasons about full sockets with skb_to_full_sk().
References
- https://git.kernel.org/stable/c/4c030a0400ebfd2318361c923a88103b2c67c49f
- https://git.kernel.org/stable/c/60459c670329d586a58db5d8f811fa5accfe4862
- https://git.kernel.org/stable/c/675919e08ce266b8cac11fd9af29170e762a480f
- https://git.kernel.org/stable/c/6973a21ee73c5567f883813c8ef414774b45892f
- https://git.kernel.org/stable/c/904a0e827d0d7189271a3a2eb648293809f25efc