[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20171116.104953.1692018694441103102.davem@davemloft.net>
Date: Thu, 16 Nov 2017 10:49:53 +0900 (KST)
From: David Miller <davem@...emloft.net>
To: lucien.xin@...il.com
Cc: netdev@...r.kernel.org, linux-sctp@...r.kernel.org,
marcelo.leitner@...il.com, nhorman@...driver.com,
syzkaller@...glegroups.com
Subject: Re: [PATCHv2 net] sctp: check stream reset info len before making
reconf chunk
From: Xin Long <lucien.xin@...il.com>
Date: Wed, 15 Nov 2017 17:00:11 +0800
> Now when resetting stream, if both in and out flags are set, the info
> len can reach:
> sizeof(struct sctp_strreset_outreq) + SCTP_MAX_STREAM(65535) +
> sizeof(struct sctp_strreset_inreq) + SCTP_MAX_STREAM(65535)
> even without duplicated stream no, this value is far greater than the
> chunk's max size.
>
> _sctp_make_chunk doesn't do any check for this, which would cause the
> skb it allocs is huge, syzbot even reported a crash due to this.
>
> This patch is to check stream reset info len before making reconf
> chunk and return EINVAL if the len exceeds chunk's capacity.
>
> Thanks Marcelo and Neil for making this clear.
>
> v1->v2:
> - move the check into sctp_send_reset_streams instead.
>
> Fixes: cc16f00f6529 ("sctp: add support for generating stream reconf ssn reset request chunk")
> Reported-by: Dmitry Vyukov <dvyukov@...gle.com>
> Signed-off-by: Xin Long <lucien.xin@...il.com>
Applied.
Powered by blists - more mailing lists