提交 dd7271fe 编写于 作者: P Patrick McHardy 提交者: David S. Miller

[NETFILTER]: SCTP conntrack: fix crash triggered by packet without chunks

When a packet without any chunks is received, the newconntrack variable
in sctp_packet contains an out of bounds value that is used to look up an
pointer from the array of timeouts, which is then dereferenced, resulting
in a crash. Make sure at least a single chunk is present.

Problem noticed by George A. Theall <theall@tenablesecurity.com>
Signed-off-by: NPatrick McHardy <kaber@trash.net>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 2c6059bc
...@@ -254,7 +254,7 @@ static int do_basic_checks(struct ip_conntrack *conntrack, ...@@ -254,7 +254,7 @@ static int do_basic_checks(struct ip_conntrack *conntrack,
} }
DEBUGP("Basic checks passed\n"); DEBUGP("Basic checks passed\n");
return 0; return count == 0;
} }
static int new_state(enum ip_conntrack_dir dir, static int new_state(enum ip_conntrack_dir dir,
......
...@@ -261,7 +261,7 @@ static int do_basic_checks(struct nf_conn *conntrack, ...@@ -261,7 +261,7 @@ static int do_basic_checks(struct nf_conn *conntrack,
} }
DEBUGP("Basic checks passed\n"); DEBUGP("Basic checks passed\n");
return 0; return count == 0;
} }
static int new_state(enum ip_conntrack_dir dir, static int new_state(enum ip_conntrack_dir dir,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册