CVE-2026-80792

Summary

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

ipv6: fix use-after-free in ip6_finish_output2()

ip6_finish_output2() caches a pointer to the IPv6 destination address (daddr) before invoking lwtunnel_xmit(). The LWT-BPF transmit path or other encapsulation operations within lwtunnel_xmit() can reallocate the skb head, freeing the memory that daddr points to. When lwtunnel_xmit() returns LWTUNNEL_XMIT_CONTINUE, the function continues to use the stale daddr pointer to compute the nexthop and to look up or create the neighbour entry. This results in a use-after-free read, which can leak sensitive kernel data, pollute the neighbour table with arbitrary values, misdirect traffic, or crash the system.

Fix this by re-fetching the IPv6 header and the destination address pointer after lwtunnel_xmit() returns LWTUNNEL_XMIT_CONTINUE, ensuring that the subsequent nexthop computation and neighbour lookup operate on valid memory.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux4132c4ad00ddbf3a175ea0d2c775b662a32f4c85 < 75e0a544ebe9af663ef53ca21e9e9185c51fb54aaffected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < c95f01b78266828a57060d754fcbfc92123a98edaffected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < d960881b9312e781a3429aabceb223ce6b7c882faffected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < 087ee0d914aaae929f1660c9ca878e367655ba1aaffected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < 3c770ac4e6f07af7c7b40c474a3efc61ffed7862affected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < 3dc98e5fe82d069dd29b124ffbdb679331dfea43affected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < 99219c82804f266189388e8bf1cf5135d10d5515affected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < 73a187384a8c8b983c7fea046d716b6752a1e7a3affected
LinuxLinuxe415ed3a4b8b246ee5e9d109ff5153efcf96b9f2 < d0d48d999b0eee6bb176ef4e39d9be868fa80f7eaffected
LinuxLinux1598154fd28ffa4a55beae1970475fd6776554b6affected
LinuxLinux5.10.233 < 5.10.267affected
LinuxLinux5.4.289 < 5.5affected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux5.10.267 <= 5.10.*unaffected
LinuxLinux5.15.218 <= 5.15.*unaffected
LinuxLinux6.1.185 <= 6.1.*unaffected
LinuxLinux6.6.154 <= 6.6.*unaffected
LinuxLinux6.12.106 <= 6.12.*unaffected
LinuxLinux6.18.47 <= 6.18.*unaffected
LinuxLinux7.1.11 <= 7.1.*unaffected
LinuxLinux7.2.1 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References