[<prev] [next>] [day] [month] [year] [list]
Message-ID: <8f647d13-ed5d-6799-97b1-3f5061879d9e@gmail.com>
Date: Tue, 28 Jun 2022 16:21:17 +0800
From: Hangyu Hua <hbh25y@...il.com>
To: Tung Quang Nguyen <tung.q.nguyen@...tech.com.au>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"tipc-discussion@...ts.sourceforge.net"
<tipc-discussion@...ts.sourceforge.net>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"jmaloy@...hat.com" <jmaloy@...hat.com>,
"ying.xue@...driver.com" <ying.xue@...driver.com>,
"davem@...emloft.net" <davem@...emloft.net>,
"edumazet@...gle.com" <edumazet@...gle.com>,
"kuba@...nel.org" <kuba@...nel.org>,
"pabeni@...hat.com" <pabeni@...hat.com>
Subject: Re: [PATCH] net: tipc: fix possible infoleak in tipc_mon_rcv()
On 2022/6/28 11:35, Tung Quang Nguyen wrote:
>> -----Original Message-----
>> From: Hangyu Hua <hbh25y@...il.com>
>> Sent: Tuesday, June 28, 2022 9:59 AM
>> To: jmaloy@...hat.com; ying.xue@...driver.com; davem@...emloft.net; edumazet@...gle.com; kuba@...nel.org;
>> pabeni@...hat.com
>> Cc: netdev@...r.kernel.org; tipc-discussion@...ts.sourceforge.net; linux-kernel@...r.kernel.org; Hangyu Hua <hbh25y@...il.com>
>> Subject: [PATCH] net: tipc: fix possible infoleak in tipc_mon_rcv()
>>
>> dom_bef is use to cache current domain record only if current domain
>> exists. But when current domain does not exist, dom_bef will still be used
>> in mon_identify_lost_members. This may lead to an information leak.
>>
>> Fix this by adding a memset before using dom_bef.
>>
>> Fixes: 35c55c9877f8 ("tipc: add neighbor monitoring framework")
>> Signed-off-by: Hangyu Hua <hbh25y@...il.com <mailto:hbh25y@...il.com>>
>> ---
>> net/tipc/monitor.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/net/tipc/monitor.c b/net/tipc/monitor.c
>> index 2f4d23238a7e..67084e5aa15c 100644
>> --- a/net/tipc/monitor.c
>> +++ b/net/tipc/monitor.c
>> @@ -534,6 +534,7 @@ void tipc_mon_rcv(struct net *net, void *data, u16 dlen, u32 addr,
>> state->peer_gen = new_gen;
>>
>> /* Cache current domain record for later use */
>> + memset(&dom_bef, 0, sizeof(dom_bef));
>> dom_bef.member_cnt = 0;
> Please remove /dom_bef.member_cnt = 0;/ if memset() is used instead.
I get it. I will send a v2.
Thanks,
Hangyu
>> dom = peer->domain;
>> if (dom)
>> --
>> 2.25.1
Powered by blists - more mailing lists