[PATCH net,v3 00/12] Netfilter for net

Pablo Neira Ayuso
2026-03-26T12:51:59Z

This is v3, I kept back an ipset fix and another to tigthen the xtables
interface to reject invalid combinations with the NFPROTO_ARP family.
They need a bit more discussion. I fixed the issues reported by AI on
patch 9 (add #ifdef to access ct zone, update nf_conntrack_broadcast
and patch 10 (use better Fixes: tag). Thanks!

-o-

Hi,

The following patchset contains Netfilter fixes for *net*.

Note that most bugs fixed here stem from 2.6 days, the large PR is not
due to an increase in regressions.

1) Fix incorrect reject of set updates with nf_tables pipapo set
avx2 backend. This comes with a regression test in patch 2.
From Florian Westphal.

2) nfnetlink_log needs to zero padding to prevent infoleak to userspace,
from Weiming Shi.

3) xtables ip6t_rt module never validated that addrnr length is within the
allowed array boundary. Reject bogus values. From Ren Wei.

4) Fix high memory usage in rbtree set backend that was unwanted side-effect
of the recently added binary search blob. From Pablo Neira Ayuso.

5) Patches 5 to 10, also from Pablo, address long-standing RCU safety bugs
in conntracks handling of expectations: We can never safely defer
a conntrack extension area without holding a reference. Yet expectation
handling does so in multiple places. Fix this by avoiding the need to
look into the master conntrack to begin with and by extending locked
sections in a few places.

11) Fix use of uninitialized rtp_addr in the sip conntrack helper,
also from Weiming Shi.

12) Add stricter netlink policy checks in ctnetlink, from David Carlier.
This avoids undefined behaviour when userspace provides huge wscale
value.

Please, pull these changes from:

git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git nf-26-03-26

Thanks.

----------------------------------------------------------------

The following changes since commit c4ea7d8907cf72b259bf70bd8c2e791e1c4ff70f:

net: mana: fix use-after-free in add_adev() error path (2026-03-24 21:07:58 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git nf-26-03-26

for you to fetch changes up to 8f15b5071b4548b0aafc03b366eb45c9c6566704:

netfilter: ctnetlink: use netlink policy range checks (2026-03-26 13:28:17 +0100)

----------------------------------------------------------------
netfilter pull request 26-03-26

----------------------------------------------------------------
David Carlier (1):
netfilter: ctnetlink: use netlink policy range checks

Florian Westphal (2):
netfilter: nft_set_pipapo_avx2: don't return non-matching entry on expiry
selftests: netfilter: nft_concat_range.sh: add check for flush+reload bug

Pablo Neira Ayuso (6):
netfilter: nft_set_rbtree: revisit array resize logic
netfilter: nf_conntrack_expect: honor expectation helper field
netfilter: nf_conntrack_expect: use expect->helper
netfilter: ctnetlink: ensure safe access to master conntrack
netfilter: nf_conntrack_expect: store netns and zone in expectation
netfilter: nf_conntrack_expect: skip expectations in other netns via proc

Ren Wei (1):
netfilter: ip6t_rt: reject oversized addrnr in rt_mt6_check()

Weiming Shi (2):
netfilter: nfnetlink_log: fix uninitialized padding leak in NFULA_PAYLOAD
netfilter: nf_conntrack_sip: fix use of uninitialized rtp_addr in process_sdp

include/net/netfilter/nf_conntrack_core.h | 5 ++
include/net/netfilter/nf_conntrack_expect.h | 20 ++++-
include/uapi/linux/netfilter/nf_conntrack_common.h | 4 +
net/ipv6/netfilter/ip6t_rt.c | 4 +
net/netfilter/nf_conntrack_broadcast.c | 8 +-
net/netfilter/nf_conntrack_ecache.c | 2 +
net/netfilter/nf_conntrack_expect.c | 39 +++++++--
net/netfilter/nf_conntrack_h323_main.c | 12 +--
net/netfilter/nf_conntrack_helper.c | 11 +--
net/netfilter/nf_conntrack_netlink.c | 75 ++++++++++--------
net/netfilter/nf_conntrack_proto_tcp.c | 10 +--
net/netfilter/nf_conntrack_sip.c | 18 +++--
net/netfilter/nfnetlink_log.c | 8 +-
net/netfilter/nft_set_pipapo_avx2.c | 20 ++---
net/netfilter/nft_set_rbtree.c | 92 ++++++++++++++++++----
.../selftests/net/netfilter/nft_concat_range.sh | 70 +++++++++++++++-
16 files changed, 296 insertions(+), 102 deletions(-)