All of lore.kernel.org
 help / color / mirror / Atom feed
From: Salvatore Bonaccorso <carnil@debian.org>
To: Chuck Lever III <chuck.lever@oracle.com>, nfbrown@suse.com
Cc: yangerkun <yangerkun@huawei.com>,
	Jeff Layton <jlayton@kernel.org>,
	Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
	"yi.zhang@huawei.com" <yi.zhang@huawei.com>
Subject: Re: Question about CVE-2022-43945
Date: Sat, 21 Jan 2023 15:09:26 +0100	[thread overview]
Message-ID: <Y8vyFuQ0UdiiEJRw@eldamar.lan> (raw)
In-Reply-To: <B00F6DD5-8215-457B-A681-39D7A64B7668@oracle.com>

Hi Chuck, 

On Sat, Nov 12, 2022 at 04:11:47PM +0000, Chuck Lever III wrote:
> 
> 
> > On Nov 12, 2022, at 4:04 AM, yangerkun <yangerkun@huawei.com> wrote:
> > 
> > On 2022/11/12 13:01, yangerkun wrote:
> >> Hi, Chuck Lever,
> >> CVE-2022-43945(https://nvd.nist.gov/vuln/detail/CVE-2022-43945) describe that a normal request header ended with garbage data can trigger the nfsd overflow since nfsd share the request and response with the same pages array.
> >> It seems that the patchset(https://lore.kernel.org/linux-nfs/166204973526.1435.6068003336048840051.stgit@manet.1015granger.net/T/#t) has solved NFSv2/NFSv3, but leave NFSv4 still vulnerably?
> 
> I asked the folks who reported this issue to check NFSv4 as well.
> They were not able to exploit NFSv4 in the same way. For now we
> believe this vulnerability does not impact the NFSv4 code paths.
> 
> 
> >> Another question, for stable branch like lts-5.10, since NFSv2/NFSv3 did not switch to xdr_stream, the nfs_request_too_big in nfsd_dispatch will reject the request like READ/READDIR with too large request. So it seems branch without that "switch" seems ok for NFSv2/NFSv3, but NFSv3 still vulnerably. right?
> >> Looking forward to your reply!
> > 
> > Sorry, notice that 76ce4dcec0dc ("NFSD: Cap rsize_bop result based on send buffer size") fix same problem for NFSv4.
> 
> 76ce4dcec0dc is a defensive fix. But, as I stated above, we haven't
> yet found that NFSD's NFSv4 implementation is vulnerable to this
> issue.
> 
> 
> > So, for the stable branch like lts-5.10 which NFSv2/NFSv3 do not switch to xdr_stream, it seems we only need 76ce4dcec0dc"NFSD: Cap rsize_bop result based on send buffer size"). Right?
> 
> At this time we don't believe 76ce4dcec0dc is required. But if
> you want it applied to v5.10 (or any LTS kernel) please first
> test that it does not result in a regression, and then make a
> request to the usual stable maintainers.

I was reviewing open CVEs for Debian, based on the 5.10.y stable
series, and noticed CVE-2022-43945 is yet unfixed in 5.10.162. I see
SUSE did some backporting, with Neil Brown, according to
https://bugzilla.suse.com/show_bug.cgi?id=1205128#c4 . From the set of
fixes the first two of 

Commit 90bfc37b5ab9 ("SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation")
Commit 1242a87da0d8 ("SUNRPC: Fix svcxdr_init_encode's buflen calculation")
Commit 00b4492686e0 ("NFSD: Protect against send buffer overflow in NFSv2 READDIR")
Commit 640f87c190e0 ("NFSD: Protect against send buffer overflow in NFSv3 READDIR")
Commit 401bc1f90874 ("NFSD: Protect against send buffer overflow in NFSv2 READ")
Commit fa6be9cc6e80 ("NFSD: Protect against send buffer overflow in NFSv3 READ")
Commit 76ce4dcec0dc ("NFSD: Cap rsize_bop result based on send buffer size")

would not be needed, but still the others, though won't apply cleanly
as thei need substantial changes. Neil, would it be possible to have
the fixes backported to the 5.10.y series as well?

Regards,
Salvatore

  reply	other threads:[~2023-01-21 14:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-12  5:01 Question about CVE-2022-43945 yangerkun
2022-11-12  9:04 ` yangerkun
2022-11-12 16:11   ` Chuck Lever III
2023-01-21 14:09     ` Salvatore Bonaccorso [this message]
2023-01-22  0:56       ` NeilBrown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y8vyFuQ0UdiiEJRw@eldamar.lan \
    --to=carnil@debian.org \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=nfbrown@suse.com \
    --cc=yangerkun@huawei.com \
    --cc=yi.zhang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.