CVE-2025-38616 – “Linux TLS ULP Data Disappearance Out-of-Bounds Read”

The following table lists the changes that have been made to the
CVE-2025-38616 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution
of a vulnerability, and for identifying the most recent changes that may
impact the vulnerability’s severity, exploitability, or other characteristics.

  • New CVE Received
    by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 22, 2025

    Action Type Old Value New Value
    Added Description In the Linux kernel, the following vulnerability has been resolved:

    tls: handle data disappearing from under the TLS ULP

    TLS expects that it owns the receive queue of the TCP socket.
    This cannot be guaranteed in case the reader of the TCP socket
    entered before the TLS ULP was installed, or uses some non-standard
    read API (eg. zerocopy ones). Replace the WARN_ON() and a buggy
    early exit (which leaves anchor pointing to a freed skb) with real
    error handling. Wipe the parsing state and tell the reader to retry.

    We already reload the anchor every time we (re)acquire the socket lock,
    so the only condition we need to avoid is an out of bounds read
    (not having enough bytes in the socket for previously parsed record len).

    If some data was read from under TLS but there’s enough in the queue
    we’ll reload and decrypt what is most likely not a valid TLS record.
    Leading to some undefined behavior from TLS perspective (corrupting
    a stream? missing an alert? missing an attack?) but no kernel crash
    should take place.

    Added Reference https://git.kernel.org/stable/c/2fb97ed9e2672b4f6e24ce206ac1a875ce4bcb38
    Added Reference https://git.kernel.org/stable/c/6db015fc4b5d5f63a64a193f65d98da3a7fc811d
    Added Reference https://git.kernel.org/stable/c/db3658a12d5ec4db7185ae7476151a50521b7207
    Added Reference https://git.kernel.org/stable/c/eb0336f213fe88bbdb7d2b19c9c9ec19245a3155
Share the Post:

Related Posts