CVE-2024-58239
kernel: tls: stop recv() if initial process_rx_list gave us non-DATA
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · August 22, 2025
Updated · October 17, 2026
Description
A flaw was found in the Linux kernel's Transport Layer Security (TLS) implementation. When receiving network traffic, the system could improperly continue processing and merge adjacent non-data control records, such as handshake or alert messages. A remote attacker could exploit this vulnerability by transmitting a specially sequenced stream of TLS records to an endpoint with kernel TLS enabled. This flaw can lead to a Denial of Service (DoS) condition by disrupting or terminating the active TLS connection.
Statement
The TLS recv path could mistakenly continue processing after process_rx_list() copied a non-DATA record, leading to merging of adjacent control records and inconsistent semantics. The fix makes recvmsg() stop immediately if the first processed record isn’t application data, preventing misinterpretation of TLS alerts/handshakes as data flow. Exploitation requires kTLS to be enabled and carefully crafted record sequencing, so the practical impact is limited to minor DoS of a TLS socket rather than confidentiality or integrity compromise.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.
CVSS / CWE
CVSS 3.1 · 5.9CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
CWE-241 · Improper Handling of Unexpected Data Type