mirror of
https://gitee.com/openharmony/kernel_linux
synced 2024-11-30 08:41:45 +00:00
sctp: validate chunk size in __rcv_asconf_lookup
mainline inclusion from mainline-v5.14-rc1 commit b6ffe7671b24689c09faa5675dd58f93758a97ae category: bugfix issue: #I4589I CVE: CVE-2021-3655 --------------------------- 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 <marcelo.leitner@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Reviewed-by: Xiu Jianfeng <xiujianfeng@huawei.com> Reviewed-by: Yue Haibing <yuehaibing@huawei.com> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Signed-off-by: Yu Changchun <yuchangchun1@huawei.com>
This commit is contained in:
parent
2fed19bebe
commit
8da6a014f4
@ -1125,6 +1125,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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user