CVE-2023-52767
Severity CVSS v4.0:
Pending analysis
Type:
CWE-476
NULL Pointer Dereference
Publication date:
21/05/2024
Last modified:
06/01/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
tls: fix NULL deref on tls_sw_splice_eof() with empty record<br />
<br />
syzkaller discovered that if tls_sw_splice_eof() is executed as part of<br />
sendfile() when the plaintext/ciphertext sk_msg are empty, the send path<br />
gets confused because the empty ciphertext buffer does not have enough<br />
space for the encryption overhead. This causes tls_push_record() to go on<br />
the `split = true` path (which is only supposed to be used when interacting<br />
with an attached BPF program), and then get further confused and hit the<br />
tls_merge_open_record() path, which then assumes that there must be at<br />
least one populated buffer element, leading to a NULL deref.<br />
<br />
It is possible to have empty plaintext/ciphertext buffers if we previously<br />
bailed from tls_sw_sendmsg_locked() via the tls_trim_both_msgs() path.<br />
tls_sw_push_pending_record() already handles this case correctly; let&#39;s do<br />
the same check in tls_sw_splice_eof().
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.5 (including) | 6.6.4 (excluding) |
| cpe:2.3:o:linux:linux_kernel:6.7:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:6.7:rc2:*:*:*:*:*:* |
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/2214e2bb5489145aba944874d0ee1652a0a63dc8
- https://git.kernel.org/stable/c/53f2cb491b500897a619ff6abd72f565933760f0
- https://git.kernel.org/stable/c/944900fe2736c07288efe2d9394db4d3ca23f2c9
- https://git.kernel.org/stable/c/2214e2bb5489145aba944874d0ee1652a0a63dc8
- https://git.kernel.org/stable/c/53f2cb491b500897a619ff6abd72f565933760f0
- https://git.kernel.org/stable/c/944900fe2736c07288efe2d9394db4d3ca23f2c9



