Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c980664 authored by Marcelo Ricardo Leitner's avatar Marcelo Ricardo Leitner Committed by Karsten Tausche
Browse files

sctp: validate chunk size in __rcv_asconf_lookup



commit b6ffe7671b24689c09faa5675dd58f93758a97ae upstream.

In one of the fallbacks that SCTP has for identifying an association for an
incoming packet, it looks for AddIp chunk (from ASCONF) and take a peek.
Thing is, at this stage nothing was validating that the chunk actually had
enough content for that, allowing the peek to happen over uninitialized
memory.

Similar check already exists in actual asconf handling in
sctp_verify_asconf().

Signed-off-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: Ibfe53fc724143423353ed6b2984d2508ee4fc457
Issue: FP3SEC-257
(cherry picked from commit 6b536186)
parent 7c5a4870
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1087,6 +1087,9 @@ static struct sctp_association *__sctp_rcv_asconf_lookup(
	union sctp_addr_param *param;
	union sctp_addr paddr;

	if (ntohs(ch->length) < sizeof(*asconf) + sizeof(struct sctp_paramhdr))
		return NULL;

	/* Skip over the ADDIP header and find the Address parameter */
	param = (union sctp_addr_param *)(asconf + 1);