In the Linux kernel, the following vulnerability has been resolved:
tls: fix NULL deref on tls_sw_splice_eof() with empty record
syzkaller discovered that if tls_sw_splice_eof() is executed as part of
sendfile() when the plaintext/ciphertext sk_msg are empty, the send path
gets confused because the empty ciphertext buffer does not have enough
space for the encryption overhead. This causes tls_push_record() to go on
the `split = true` path (which is only supposed to be used when interacting
with an attached BPF program), and then get further confused and hit the
tls_merge_open_record() path, which then assumes that there must be at
least one populated buffer element, leading to a NULL deref.
It is possible to have empty plaintext/ciphertext buffers if we previously
bailed from tls_sw_sendmsg_locked() via the tls_trim_both_msgs() path.
tls_sw_push_pending_record() already handles this case correctly; let's do
the same check in tls_sw_splice_eof().
Metrics
Affected Vendors & Products
References
History
Mon, 04 Nov 2024 15:15:00 +0000
Type | Values Removed | Values Added |
---|---|---|
Metrics |
ssvc
|
MITRE
Status: PUBLISHED
Assigner: Linux
Published: 2024-05-21T15:30:50.993Z
Updated: 2024-11-04T14:52:18.239Z
Reserved: 2024-05-21T15:19:24.238Z
Link: CVE-2023-52767
Vulnrichment
Updated: 2024-08-02T23:11:35.999Z
NVD
Status : Awaiting Analysis
Published: 2024-05-21T16:15:15.917
Modified: 2024-11-21T08:40:32.643
Link: CVE-2023-52767
Redhat