All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4.10] netfilter: nf_conntrack_h323: lost .data_len definition for Q.931/ipv6
@ 2020-06-09  7:53 Vasily Averin
  2020-06-10 12:47 ` Florian Westphal
  2020-06-24 12:12 ` Pablo Neira Ayuso
  0 siblings, 2 replies; 5+ messages in thread
From: Vasily Averin @ 2020-06-09  7:53 UTC (permalink / raw)
  To: Pablo Neira Ayuso, netfilter-devel; +Cc: Florian Westphal

Could you please push this patch into stable@?
it fixes memory corruption in kernels  v3.5 .. v4.10

Lost .data_len definition leads to write beyond end of
struct nf_ct_h323_master. Usually it corrupts following
struct nf_conn_nat, however if nat is not loaded it corrupts
following slab object.

In mainline this problem went away in v4.11,
after commit 9f0f3ebeda47 ("netfilter: helpers: remove data_len usage
for inkernel helpers") however many stable kernels are still affected.

cc: stable@vger.kernel.org
Fixes: 1afc56794e03 ("netfilter: nf_ct_helper: implement variable length helper private data") # v3.5
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
---
 net/netfilter/nf_conntrack_h323_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/netfilter/nf_conntrack_h323_main.c b/net/netfilter/nf_conntrack_h323_main.c
index f65d93639d12..29fe1e7eac88 100644
--- a/net/netfilter/nf_conntrack_h323_main.c
+++ b/net/netfilter/nf_conntrack_h323_main.c
@@ -1225,6 +1225,7 @@ static struct nf_conntrack_helper nf_conntrack_helper_q931[] __read_mostly = {
 	{
 		.name			= "Q.931",
 		.me			= THIS_MODULE,
+		.data_len		= sizeof(struct nf_ct_h323_master),
 		.tuple.src.l3num	= AF_INET6,
 		.tuple.src.u.tcp.port	= cpu_to_be16(Q931_PORT),
 		.tuple.dst.protonum	= IPPROTO_TCP,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-07-07 14:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-09  7:53 [PATCH v4.10] netfilter: nf_conntrack_h323: lost .data_len definition for Q.931/ipv6 Vasily Averin
2020-06-10 12:47 ` Florian Westphal
2020-06-24 12:12 ` Pablo Neira Ayuso
2020-07-02  7:40   ` Vasily Averin
2020-07-07 14:03   ` Greg KH

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.