CVE-2026-64554: netfilter: bridge: fix stale prevhdr pointer in br_ip6_fragment()
Greg Kroah-Hartman <[email protected]> Mon, 27 Jul 2026 22:10:52 +0200
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026072738-CVE-2026-64554-e179@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: fix stale prevhdr pointer in br_ip6_fragment() br_ip6_fragment() gets prevhdr, a pointer into the skb head, from ip6_find_1stfragopt(), then calls skb_checksum_help(). For a cloned skb skb_checksum_help() reallocates the head via pskb_expand_head(), leaving prevhdr dangling. It is later dereferenced in ip6_frag_next(), causing a use-after-free write. Save prevhdr's offset before skb_checksum_help() and recompute it after, like commit ef0efcd3bd3f ("ipv6: Fix dangling pointer when ipv6 fragment"). BUG: KASAN: slab-use-after-free in ip6_frag_next (net/ipv6/ip6_output.c:857) Write of size 1 at addr ffff888013ff5016 by task exploit/141 Call Trace: ... kasan_report (mm/kasan/report.c:595) ip6_frag_next (net/ipv6/ip6_output.c:857) br_ip6_fragment (net/ipv6/netfilter.c:212) nf_ct_bridge_post (net/bridge/netfilter/nf_conntrack_bridge.c:407) nf_hook_slow (net/netfilter/core.c:619) br_forward_finish (net/bridge/br_forward.c:66) __br_forward (net/bridge/br_forward.c:115) maybe_deliver (net/bridge/br_forward.c:191) br_flood (net/bridge/br_forward.c:245) br_handle_frame_finish (net/bridge/br_input.c:229) br_handle_frame (net/bridge/br_input.c:442) ... packet_sendmsg (net/packet/af_packet.c:3114) ... do_syscall_64 (arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121) Kernel panic - not syncing: Fatal exception in interrupt The Linux kernel CVE team has assigned CVE-2026-64554 to this issue. Affected and fixed versions =========================== Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 5.10.261 with commit 8c10778ec674b67a07ea042fcba64270f3f38a5a Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 5.15.212 with commit 2731efa6364e47934c96eb69e01ea131e8af8030 Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 6.1.178 with commit 00c06ef8c018493943891a7d0ca82b71b24f3180 Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 6.6.145 with commit c141f69d0a0fb16964dbc293650047e69bda8af7 Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 6.12.97 with commit f2e6596d10783557aeb9668da2a3b4d19deb2001 Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 6.18.40 with commit 1c4f67c89fd27c4df4c70b135c2c59627698b3c0 Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 7.1.5 with commit 4ac981a8b7ce7aec99a52d08f8a8953e8e120067 Issue introduced in 5.3 with commit 764dd163ac922f8683b5bcd3007251ce7b26cd33 and fixed in 7.2-rc4 with commit 86f3ce81dd2b4b0aa2c3016c989a943e4b1b643d Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-64554 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/ipv6/netfilter.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/8c10778ec674b67a07ea042fcba64270f3f38a5a https://git.kernel.org/stable/c/2731efa6364e47934c96eb69e01ea131e8af8030 https://git.kernel.org/stable/c/00c06ef8c018493943891a7d0ca82b71b24f3180 https://git.kernel.org/stable/c/c141f69d0a0fb16964dbc293650047e69bda8af7 https://git.kernel.org/stable/c/f2e6596d10783557aeb9668da2a3b4d19deb2001 https://git.kernel.org/stable/c/1c4f67c89fd27c4df4c70b135c2c59627698b3c0 https://git.kernel.org/stable/c/4ac981a8b7ce7aec99a52d08f8a8953e8e120067 https://git.kernel.org/stable/c/86f3ce81dd2b4b0aa2c3016c989a943e4b1b643d