sctp: add vtag check in sctp_sf_violation
authorXin Long <lucien.xin@gmail.com>
Wed, 20 Oct 2021 11:42:45 +0000 (07:42 -0400)
committerJakub Kicinski <kuba@kernel.org>
Fri, 22 Oct 2021 19:36:44 +0000 (12:36 -0700)
commitaa0f697e45286a6b5f0ceca9418acf54b9099d99
tree660f04d0e0692b8ddfafa80f729055c319a64871
parenta64b341b8695e1c744dd972b39868371b4f68f83
sctp: add vtag check in sctp_sf_violation

sctp_sf_violation() is called when processing HEARTBEAT_ACK chunk
in cookie_wait state, and some other places are also using it.

The vtag in the chunk's sctphdr should be verified, otherwise, as
later in chunk length check, it may send abort with the existent
asoc's vtag, which can be exploited by one to cook a malicious
chunk to terminate a SCTP asoc.

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>
net/sctp/sm_statefuns.c