]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
sctp: use init_tag from inithdr for ABORT chunk
authorXin Long <lucien.xin@gmail.com>
Wed, 20 Oct 2021 11:42:41 +0000 (07:42 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Nov 2021 17:26:45 +0000 (18:26 +0100)
commit1f52dfacca7bb315d89f5ece5660b0337809798e
tree8a6b53eca7237c412dc58a56c9d4f2067c657bd6
parentb75fa48e42d022d6757b7de29178d531df8cf43b
sctp: use init_tag from inithdr for ABORT chunk

[ Upstream commit 4f7019c7eb33967eb87766e0e4602b5576873680 ]

Currently Linux SCTP uses the verification tag of the existing SCTP
asoc when failing to process and sending the packet with the ABORT
chunk. This will result in the peer accepting the ABORT chunk and
removing the SCTP asoc. One could exploit this to terminate a SCTP
asoc.

This patch is to fix it by always using the initiate tag of the
received INIT chunk for the ABORT chunk to be sent.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/sctp/sm_statefuns.c