From: Pablo Neira Ayuso <pablo@netfilter.org>
To: netfilter-devel@vger.kernel.org
Cc: davem@davemloft.net, netdev@vger.kernel.org, kuba@kernel.org,
pabeni@redhat.com, edumazet@kernel.org, horms@kernel.org,
fw@strlen.de, ja@ssi.bg
Subject: [PATCH net,v3 00/13] Netfilter/IPVS fixes for net
Date: Wed, 4 Nov 2026 10:02:11 +0100 [thread overview]
Message-ID: <20261104090224.750548-1-pablo@netfilter.org> (raw)
v3: keep back two patches in the series with sashiko reports that
suggest they need a bit more work.
-o-
Hi,
The following batch contains Netfilter/IPVS fixes for net, this batch
addresses LLM findings, several of these fixes has been reproduced by
syzbot:
1) Add recursion count to nf_reject infrastructure to prevent stack
overflow, from Fernando F. Mancera.
2) Use kfree_rcu() to release IPVS parent application to fix UaF,
from Chengfeng Ye.
3) Fix UaF in IPVS netns removal path due to releasing per-net protocol
data too early, from Chengfeng Ye.
4) Fix unbounded growth of stale, unmatchable IPVS connection entries,
from Julian Anastasov.
5) Preserve recursion count on nfqueue reinjection, from Zihan Xi.
6) Restore GRE timeout in the flowtable, otherwise, WARN_ON_ONCE()
is reachable, from Michail Andreas Michalopoulos.
7) Check non-null gc transaction in nft_rbtree before queuing it for
processing, from Xingyuan Mo.
8) Replace WARN_ON_ONCE() by DEBUG_NET_WARN_ON_ONCE() in
nf_conntrack_bridge which is reachable if the protocol of the tag
of a frame differs from the vlan_protocol of the bridge.
From Laveesh Bansal.
9) Check x_tables target name is non-null before accessing it when
building a new table, from Fernando F. Mancera.
10) Fix out-of-bound memory read in nf_conntrack_sip, from
Joas Antonio Dos Santos.
11) Fix a memleak in nf_tables hardware offload when double deleting
the same rule, in the same batch.
12) Use a mutex in xt_recent netns exit path instead of spinlock,
since proc unregistration might sleep. From Cen Zhang.
13) Zero the nf_nat_range2 struct before filling it up, to avoid
using stale uninitialized stack data to configure NAT with
an esoteric NAT flags combination. From Florian Westphal.
Please, pull these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git nf-26-11-04
Thanks.
----------------------------------------------------------------
The following changes since commit cb284914e749388eef402938bdb3115fe1f6d337:
net: ipa: Fix double free of the interrupt structure on config error (2026-10-30 19:04:37 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf.git nf-26-11-04
for you to fetch changes up to ec993b526a3114f6c3cdd21cb2b148986370361e:
netfilter: nat: zero newrange before filling it in (2026-11-04 09:48:34 +0100)
----------------------------------------------------------------
netfilter pull request 26-11-04
----------------------------------------------------------------
Cen Zhang (Microsoft) (1):
netfilter: xt_recent: do not call remove_proc_entry() under recent_lock
Chengfeng Ye (2):
ipvs: Defer application parent freeing until after RCU readers
ipvs: fix protocol data lifetime during namespace teardown
Fernando Fernandez Mancera (2):
netfilter: nft_reject: prevent unbounded recursion in output hooks
netfilter: x_tables: check target name before accessing verdict
Florian Westphal (1):
netfilter: nat: zero newrange before filling it in
Joas Antonio dos Santos (1):
netfilter: nf_conntrack_sip: fix OOB read in ct_sip_parse_transport()
Julian Anastasov (1):
ipvs: do not create conns from packets with port 0
Laveesh Bansal (1):
netfilter: bridge: use DEBUG_NET_WARN_ON_ONCE in nf_ct_bridge_refrag()
Michail Andreas Michalopoulos (1):
netfilter: flowtable: extend ct timeout of offloaded GRE flows
Pablo Neira Ayuso (1):
netfilter: nf_tables: fix memleak when rule deletion fails with hardware offload
Xingyuan Mo (1):
netfilter: nft_set_rbtree: check catchall_sync return before queue_done
Zihan Xi (1):
netfilter: nf_dup: preserve guard across NFQUEUE reinjection
include/linux/netdevice_xmit.h | 4 +--
include/net/netfilter/nf_dup_netdev.h | 35 -------------------------
include/net/netfilter/nf_queue.h | 1 +
include/net/netfilter/nf_recursion.h | 42 ++++++++++++++++++++++++++++++
net/bridge/netfilter/nf_conntrack_bridge.c | 2 +-
net/ipv4/netfilter/arp_tables.c | 5 ++--
net/ipv4/netfilter/ip_tables.c | 5 ++--
net/ipv4/netfilter/nf_reject_ipv4.c | 12 +++++++++
net/ipv6/netfilter/ip6_tables.c | 5 ++--
net/ipv6/netfilter/nf_reject_ipv6.c | 13 +++++++++
net/netfilter/ipvs/ip_vs_app.c | 2 +-
net/netfilter/ipvs/ip_vs_core.c | 15 ++++++-----
net/netfilter/ipvs/ip_vs_proto_sctp.c | 5 ++++
net/netfilter/ipvs/ip_vs_proto_tcp.c | 5 ++++
net/netfilter/ipvs/ip_vs_proto_udp.c | 4 +++
net/netfilter/nf_conntrack_sip.c | 4 +--
net/netfilter/nf_dup_netdev.c | 1 +
net/netfilter/nf_flow_table_core.c | 1 +
net/netfilter/nf_nat_masquerade.c | 4 +--
net/netfilter/nf_queue.c | 1 +
net/netfilter/nf_tables_api.c | 21 +++++++--------
net/netfilter/nf_tables_offload.c | 3 +++
net/netfilter/nfnetlink_queue.c | 17 +++++++++---
net/netfilter/nft_fwd_netdev.c | 1 +
net/netfilter/nft_set_rbtree.c | 3 ++-
net/netfilter/xt_NETMAP.c | 4 +--
net/netfilter/xt_recent.c | 7 ++---
27 files changed, 145 insertions(+), 77 deletions(-)
create mode 100644 include/net/netfilter/nf_recursion.h
next reply other threads:[~2026-11-04 9:02 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 9:02 Pablo Neira Ayuso [this message]
2026-11-04 9:02 ` [PATCH net 01/13] netfilter: nft_reject: prevent unbounded recursion in output hooks Pablo Neira Ayuso
2026-11-04 9:09 ` netdev-bot+sinfo
2026-11-04 9:02 ` [PATCH net 02/13] ipvs: Defer application parent freeing until after RCU readers Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 03/13] ipvs: fix protocol data lifetime during namespace teardown Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 04/13] ipvs: do not create conns from packets with port 0 Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 05/13] netfilter: nf_dup: preserve guard across NFQUEUE reinjection Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 06/13] netfilter: flowtable: extend ct timeout of offloaded GRE flows Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 07/13] netfilter: nft_set_rbtree: check catchall_sync return before queue_done Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 08/13] netfilter: bridge: use DEBUG_NET_WARN_ON_ONCE in nf_ct_bridge_refrag() Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 09/13] netfilter: x_tables: check target name before accessing verdict Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 10/13] netfilter: nf_conntrack_sip: fix OOB read in ct_sip_parse_transport() Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 11/13] netfilter: nf_tables: fix memleak when rule deletion fails with hardware offload Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 12/13] netfilter: xt_recent: do not call remove_proc_entry() under recent_lock Pablo Neira Ayuso
2026-11-04 9:02 ` [PATCH net 13/13] netfilter: nat: zero newrange before filling it in Pablo Neira Ayuso
2026-11-05 9:46 ` [PATCH net,v3 00/13] Netfilter/IPVS fixes for net Paolo Abeni
2026-11-05 11:28 ` Julian Anastasov
2026-11-05 12:29 ` Pablo Neira Ayuso
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261104090224.750548-1-pablo@netfilter.org \
--to=pablo@netfilter.org \
--cc=davem@davemloft.net \
--cc=edumazet@kernel.org \
--cc=fw@strlen.de \
--cc=horms@kernel.org \
--cc=ja@ssi.bg \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.