| From bippy-1.2.0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@kernel.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2024-49974: NFSD: Limit the number of concurrent async COPY operations |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| NFSD: Limit the number of concurrent async COPY operations |
| |
| Nothing appears to limit the number of concurrent async COPY |
| operations that clients can start. In addition, AFAICT each async |
| COPY can copy an unlimited number of 4MB chunks, so can run for a |
| long time. Thus IMO async COPY can become a DoS vector. |
| |
| Add a restriction mechanism that bounds the number of concurrent |
| background COPY operations. Start simple and try to be fair -- this |
| patch implements a per-namespace limit. |
| |
| An async COPY request that occurs while this limit is exceeded gets |
| NFS4ERR_DELAY. The requesting client can choose to send the request |
| again after a delay or fall back to a traditional read/write style |
| copy. |
| |
| If there is need to make the mechanism more sophisticated, we can |
| visit that in future patches. |
| |
| The Linux kernel CVE team has assigned CVE-2024-49974 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 4.20 with commit e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 and fixed in 5.10.231 with commit 9e52ff544e0bfa09ee339fd7b0937ee3c080c24e |
| Issue introduced in 4.20 with commit e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 and fixed in 5.15.174 with commit 43e46ee5efc03990b223f7aa8b77aa9c3d3acfdf |
| Issue introduced in 4.20 with commit e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 and fixed in 6.1.119 with commit 7ea9260874b779637aff6d24c344b8ef4ac862a0 |
| Issue introduced in 4.20 with commit e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 and fixed in 6.6.63 with commit ae267989b7b7933dfedcd26468d0a88fc3a9da9e |
| Issue introduced in 4.20 with commit e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 and fixed in 6.10.14 with commit b4e21431a0db4854b5023cd5af001be557e6c3db |
| Issue introduced in 4.20 with commit e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 and fixed in 6.11.3 with commit 6a488ad7745b8f64625c6d3a24ce7e448e83f11b |
| Issue introduced in 4.20 with commit e0639dc5805a9d4faaa2c07ad98fa853b9529dd3 and fixed in 6.12 with commit aadc3bbea163b6caaaebfdd2b6c4667fbc726752 |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2024-49974 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| fs/nfsd/netns.h |
| fs/nfsd/nfs4proc.c |
| fs/nfsd/nfs4state.c |
| fs/nfsd/xdr4.h |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/9e52ff544e0bfa09ee339fd7b0937ee3c080c24e |
| https://git.kernel.org/stable/c/43e46ee5efc03990b223f7aa8b77aa9c3d3acfdf |
| https://git.kernel.org/stable/c/7ea9260874b779637aff6d24c344b8ef4ac862a0 |
| https://git.kernel.org/stable/c/ae267989b7b7933dfedcd26468d0a88fc3a9da9e |
| https://git.kernel.org/stable/c/b4e21431a0db4854b5023cd5af001be557e6c3db |
| https://git.kernel.org/stable/c/6a488ad7745b8f64625c6d3a24ce7e448e83f11b |
| https://git.kernel.org/stable/c/aadc3bbea163b6caaaebfdd2b6c4667fbc726752 |