Paper/Archive/CVE-2022-50410

CVE-2022-50410

Linux Linux — NFSD: Protect against send buffer overflow in NFSv2 READ

Description · from the CVE record

In the Linux kernel, the following vulnerability has been resolved: NFSD: Protect against send buffer overflow in NFSv2 READ Since before the git era, NFSD has conserved the number of pages held by each nfsd thread by combining the RPC receive and send buffers into a single array of pages. This works because there are no cases where an operation needs a large RPC Call message and a large RPC Reply at the same time. Once an RPC Call has been received, svc_process() updates svc_rqst::rq_res to describe the part of rq_pages that can be used for constructing the Reply. This means that the send buffer (rq_res) shrinks when the received RPC record containing the RPC Call is large. A client can force this shrinkage on TCP by sending a correctly- formed RPC Call header contained in an RPC record that is excessively large. The full maximum payload size cannot be constructed in that case.

Affected

ProductAffectedFixed inSource
Linux4452435948424e5322c2a2fefbdc2cf3732cc45d – < 2007867c5874134f2271eb276398208070049dd32007867c5874134f2271eb276398208070049dd3CNA
Linux4452435948424e5322c2a2fefbdc2cf3732cc45d – < 2be9331ca6061bc6ea32247266f45b8b210302442be9331ca6061bc6ea32247266f45b8b21030244CNA
Linux4452435948424e5322c2a2fefbdc2cf3732cc45d – < ea4c3eee0fd72fcedaa238556044825639cd3607ea4c3eee0fd72fcedaa238556044825639cd3607CNA
Linux4452435948424e5322c2a2fefbdc2cf3732cc45d – < 1868332032eccbab8c1878a0d918193058c0a9051868332032eccbab8c1878a0d918193058c0a905CNA
Linux4452435948424e5322c2a2fefbdc2cf3732cc45d – < 401bc1f90874280a80b93f23be33a0e7e2d1f912401bc1f90874280a80b93f23be33a0e7e2d1f912CNA
Linux2.6.19–CNA

Scores by source

Linux (CNA)9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CISA ADP7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CISA ADPSSVCExploitation: none · Automatable: no · Technical impact: total

References

refgit.kernel.org/stable/c/2007867c5874134f2271eb276398208070049dd3refgit.kernel.org/stable/c/2be9331ca6061bc6ea32247266f45b8b21030244refgit.kernel.org/stable/c/ea4c3eee0fd72fcedaa238556044825639cd3607refgit.kernel.org/stable/c/1868332032eccbab8c1878a0d918193058c0a905refgit.kernel.org/stable/c/401bc1f90874280a80b93f23be33a0e7e2d1f912