Re: Question about CVE-2022-43945

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx/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



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux