---
id: CVE-2025-38471
title: 'tls: always refresh the queue when reading sock'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  tls: always refresh the queue when reading sock

  After recent changes in net-next TCP compacts skbs much more
  aggressively. This unearthed a bug in TLS where we may try…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 <
    730fed2ff5e259495712518e18d9f521f61972bb
  - >-
    Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 <
    1f3a429c21e0e43e8b8c55d30701e91411a4df02
  - >-
    Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 <
    cdb767915fc9a15d88d19d52a1455f1dc3e5ddc8
  - >-
    Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 <
    c76f6f437c46b2390888e0e1dc7aafafa9f4e0c6
  - >-
    Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 <
    4ab26bce3969f8fd925fe6f6f551e4d1a508c68b
  - Linux 2277d7cbdf47531b2c3cd01ba15255fa955aab35
  - Linux >= 6.0.6 < 6.1
  - Linux 6.1
published: '2025-07-28'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T01:07:24.522Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-38471'
references:
  - url: 'https://git.kernel.org/stable/c/730fed2ff5e259495712518e18d9f521f61972bb'
  - url: 'https://git.kernel.org/stable/c/1f3a429c21e0e43e8b8c55d30701e91411a4df02'
  - url: 'https://git.kernel.org/stable/c/cdb767915fc9a15d88d19d52a1455f1dc3e5ddc8'
  - url: 'https://git.kernel.org/stable/c/c76f6f437c46b2390888e0e1dc7aafafa9f4e0c6'
  - url: 'https://git.kernel.org/stable/c/4ab26bce3969f8fd925fe6f6f551e4d1a508c68b'
tags:
  - cve.org
epss: 0.00436
epssPercentile: 0.37698
ingestedAt: '2026-10-15T05:52:46.085Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

tls: always refresh the queue when reading sock

After recent changes in net-next TCP compacts skbs much more
aggressively. This unearthed a bug in TLS where we may try
to operate on an old skb when checking if all skbs in the
queue have matching decrypt state and geometry.

    BUG: KASAN: slab-use-after-free in tls_strp_check_rcv+0x898/0x9a0 [tls]
    (net/tls/tls_strp.c:436 net/tls/tls_strp.c:530 net/tls/tls_strp.c:544)
    Read of size 4 at addr ffff888013085750 by task tls/13529

    CPU: 2 UID: 0 PID: 13529 Comm: tls Not tainted 6.16.0-rc5-virtme
    Call Trace:
     kasan_report+0xca/0x100
     tls_strp_check_rcv+0x898/0x9a0 [tls]
     tls_rx_rec_wait+0x2c9/0x8d0 [tls]
     tls_sw_recvmsg+0x40f/0x1aa0 [tls]
     inet_recvmsg+0x1c3/0x1f0

Always reload the queue, fast path is to have the record in the queue
when we wake, anyway (IOW the path going down "if !strp->stm.full_len").

## Affected

- `Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 < 730fed2ff5e259495712518e18d9f521f61972bb`
- `Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 < 1f3a429c21e0e43e8b8c55d30701e91411a4df02`
- `Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 < cdb767915fc9a15d88d19d52a1455f1dc3e5ddc8`
- `Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 < c76f6f437c46b2390888e0e1dc7aafafa9f4e0c6`
- `Linux >= 0d87bbd39d7fd1135ab9eca672d760470f6508e8 < 4ab26bce3969f8fd925fe6f6f551e4d1a508c68b`
- `Linux 2277d7cbdf47531b2c3cd01ba15255fa955aab35`
- `Linux >= 6.0.6 < 6.1`
- `Linux 6.1`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
