Skip to content

Commit b6ffe76

Browse files
marceloleitnerdavem330
authored andcommitted
sctp: validate chunk size in __rcv_asconf_lookup
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: Marcelo Ricardo Leitner <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 50619db commit b6ffe76

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

net/sctp/input.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,6 +1168,9 @@ static struct sctp_association *__sctp_rcv_asconf_lookup(
11681168
union sctp_addr_param *param;
11691169
union sctp_addr paddr;
11701170

1171+
if (ntohs(ch->length) < sizeof(*asconf) + sizeof(struct sctp_paramhdr))
1172+
return NULL;
1173+
11711174
/* Skip over the ADDIP header and find the Address parameter */
11721175
param = (union sctp_addr_param *)(asconf + 1);
11731176

0 commit comments

Comments
 (0)