CVE-2023-52636
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
02/04/2024
Last modified:
17/03/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
libceph: just wait for more data to be available on the socket<br />
<br />
A short read may occur while reading the message footer from the<br />
socket. Later, when the socket is ready for another read, the<br />
messenger invokes all read_partial_*() handlers, including<br />
read_partial_sparse_msg_data(). The expectation is that<br />
read_partial_sparse_msg_data() would bail, allowing the messenger to<br />
invoke read_partial() for the footer and pick up where it left off.<br />
<br />
However read_partial_sparse_msg_data() violates that and ends up<br />
calling into the state machine in the OSD client. The sparse-read<br />
state machine assumes that it&#39;s a new op and interprets some piece of<br />
the footer as the sparse-read header and returns bogus extents/data<br />
length, etc.<br />
<br />
To determine whether read_partial_sparse_msg_data() should bail, let&#39;s<br />
reuse cursor->total_resid. Because once it reaches to zero that means<br />
all the extents and data have been successfully received in last read,<br />
else it could break out when partially reading any of the extents and<br />
data. And then osd_sparse_read() could continue where it left off.<br />
<br />
[ idryomov: changelog ]
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.6 (including) | 6.6.17 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.7.5 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.8: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/8e46a2d068c92a905d01cbb018b00d66991585ab
- https://git.kernel.org/stable/c/bd9442e553ab8bf74b8be3b3c0a43bf4af4dc9b8
- https://git.kernel.org/stable/c/da9c33a70f095d5d55c36d0bfeba969e31de08ae
- https://git.kernel.org/stable/c/8e46a2d068c92a905d01cbb018b00d66991585ab
- https://git.kernel.org/stable/c/bd9442e553ab8bf74b8be3b3c0a43bf4af4dc9b8
- https://git.kernel.org/stable/c/da9c33a70f095d5d55c36d0bfeba969e31de08ae



