CVE-2022-48827
Severity CVSS v4.0:
Pending analysis
Type:
CWE-125
Out-of-bounds Read
Publication date:
16/07/2024
Last modified:
25/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
NFSD: Fix the behavior of READ near OFFSET_MAX<br />
<br />
Dan Aloni reports:<br />
> Due to commit 8cfb9015280d ("NFS: Always provide aligned buffers to<br />
> the RPC read layers") on the client, a read of 0xfff is aligned up<br />
> to server rsize of 0x1000.<br />
><br />
> As a result, in a test where the server has a file of size<br />
> 0x7fffffffffffffff, and the client tries to read from the offset<br />
> 0x7ffffffffffff000, the read causes loff_t overflow in the server<br />
> and it returns an NFS code of EINVAL to the client. The client as<br />
> a result indefinitely retries the request.<br />
<br />
The Linux NFS client does not handle NFS?ERR_INVAL, even though all<br />
NFS specifications permit servers to return that status code for a<br />
READ.<br />
<br />
Instead of NFS?ERR_INVAL, have out-of-range READ requests succeed<br />
and return a short result. Set the EOF flag in the result to prevent<br />
the client from retrying the READ request. This behavior appears to<br />
be consistent with Solaris NFS servers.<br />
<br />
Note that NFSv3 and NFSv4 use u64 offset values on the wire. These<br />
must be converted to loff_t internally before use -- an implicit<br />
type cast is not adequate for this purpose. Otherwise VFS checks<br />
against sb->s_maxbytes do not work properly.
Impact
Base Score 3.x
7.10
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.220 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.24 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.16.10 (excluding) |
| cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0cb4d23ae08c48f6bf3c29a8e5c4a74b8388b960
- https://git.kernel.org/stable/c/1726a39b0879acfb490b22dca643f26f4f907da9
- https://git.kernel.org/stable/c/44502aca8e02ab32d6b0eb52e006a5ec9402719b
- https://git.kernel.org/stable/c/c6eff5c4277146a78b4fb8c9b668dd64542c41b0
- https://git.kernel.org/stable/c/0cb4d23ae08c48f6bf3c29a8e5c4a74b8388b960
- https://git.kernel.org/stable/c/1726a39b0879acfb490b22dca643f26f4f907da9
- https://git.kernel.org/stable/c/44502aca8e02ab32d6b0eb52e006a5ec9402719b
- https://git.kernel.org/stable/c/c6eff5c4277146a78b4fb8c9b668dd64542c41b0



