[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Yfk7Niu74yv3OCm7@a-10-27-1-133.dynapool.vpn.nyu.edu>
Date: Tue, 1 Feb 2022 08:52:54 -0500
From: Zekun Shen <bruceshenzk@...il.com>
To: Kalle Valo <kvalo@...nel.org>
Cc: Amitkumar Karwar <amitkarwar@...il.com>,
Siva Rebbagondla <siva8118@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, brendandg@....edu
Subject: Re: [PATCH] rsi: fix oob in rsi_prepare_skb
The maximum length allowed (and without overflow) depends on
the queueno in the switch statement. I don't know the exact format
of the inputs, but there could be a universal and stricter length
restriction in the protocol
It is possible to fix the problem at the previous check you propose,
we just need to add input parsing for length and queueno there.
The code here seems prone to overflow, since function arguments
only include a single buffer pointer without a remaining byte count.
Moreover, some of the lengths are dynamic and encoded in the
buffer.
For this reason, I think it's easier and more maintainable to add the
check after existing parsing code and before read/write the buffer.
Powered by blists - more mailing lists