Commit 527f1d87 authored by Jon Maloy's avatar Jon Maloy Committed by Yang Yingliang
Browse files

tipc: improve size validations for received domain records



mainline inclusion
from mainline-v5.17-rc4
commit 9aa422ad
category: bugfix
CVE: CVE-2022-0435

--------------------------------

The function tipc_mon_rcv() allows a node to receive and process
domain_record structs from peer nodes to track their views of the
network topology.

This patch verifies that the number of members in a received domain
record does not exceed the limit defined by MAX_MON_DOMAIN, something
that may otherwise lead to a stack overflow.

tipc_mon_rcv() is called from the function tipc_link_proto_rcv(), where
we are reading a 32 bit message data length field into a uint16.  To
avert any risk of bit overflow, we add an extra sanity check for this in
that function.  We cannot see that happen with the current code, but
future designers being unaware of this risk, may introduce it by
allowing delivery of very large (> 64k) sk buffers from the bearer
layer.  This potential problem was identified by Eric Dumazet.

This fixes CVE-2022-0435

Reported-by: default avatarSamuel Page <samuel.page@appgate.com>
Reported-by: default avatarEric Dumazet <edumazet@google.com>
Fixes: 35c55c98 ("tipc: add neighbor monitoring framework")
Signed-off-by: default avatarJon Maloy <jmaloy@redhat.com>
Reviewed-by: default avatarXin Long <lucien.xin@gmail.com>
Reviewed-by: default avatarSamuel Page <samuel.page@appgate.com>
Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>

Signed-off-by: default avatarZhengchao Shao <shaozhengchao@huawei.com>
Reviewed-by: default avatarYongjun Wei <weiyongjun1@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
parent 4715b3b7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment