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").
[
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@730fed2ff5e259495712518e18d9f521f61972bb",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"204718045379541177250168232365696694204",
"272536480830166086639620106810459797826",
"179167722871213222555916814811307546867",
"112933555997119115674337882797032743279",
"45684177810920375108760803631269246584"
]
},
"target": {
"file": "net/tls/tls_strp.c"
},
"id": "CVE-2025-38471-10b40bdd"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdb767915fc9a15d88d19d52a1455f1dc3e5ddc8",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"204718045379541177250168232365696694204",
"272536480830166086639620106810459797826",
"179167722871213222555916814811307546867",
"112933555997119115674337882797032743279",
"45684177810920375108760803631269246584"
]
},
"target": {
"file": "net/tls/tls_strp.c"
},
"id": "CVE-2025-38471-387adbe5"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@730fed2ff5e259495712518e18d9f521f61972bb",
"signature_type": "Function",
"digest": {
"function_hash": "182001221345836353812287384630209928978",
"length": 681.0
},
"target": {
"file": "net/tls/tls_strp.c",
"function": "tls_strp_read_sock"
},
"id": "CVE-2025-38471-3e01e97f"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdb767915fc9a15d88d19d52a1455f1dc3e5ddc8",
"signature_type": "Function",
"digest": {
"function_hash": "159598559456743879175204965578039807509",
"length": 694.0
},
"target": {
"file": "net/tls/tls_strp.c",
"function": "tls_strp_read_sock"
},
"id": "CVE-2025-38471-3e070566"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ab26bce3969f8fd925fe6f6f551e4d1a508c68b",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"204718045379541177250168232365696694204",
"272536480830166086639620106810459797826",
"179167722871213222555916814811307546867",
"112933555997119115674337882797032743279",
"45684177810920375108760803631269246584"
]
},
"target": {
"file": "net/tls/tls_strp.c"
},
"id": "CVE-2025-38471-5686a8f3"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c76f6f437c46b2390888e0e1dc7aafafa9f4e0c6",
"signature_type": "Function",
"digest": {
"function_hash": "159598559456743879175204965578039807509",
"length": 694.0
},
"target": {
"file": "net/tls/tls_strp.c",
"function": "tls_strp_read_sock"
},
"id": "CVE-2025-38471-6c6a4af8"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c76f6f437c46b2390888e0e1dc7aafafa9f4e0c6",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"204718045379541177250168232365696694204",
"272536480830166086639620106810459797826",
"179167722871213222555916814811307546867",
"112933555997119115674337882797032743279",
"45684177810920375108760803631269246584"
]
},
"target": {
"file": "net/tls/tls_strp.c"
},
"id": "CVE-2025-38471-87666497"
},
{
"signature_version": "v1",
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ab26bce3969f8fd925fe6f6f551e4d1a508c68b",
"signature_type": "Function",
"digest": {
"function_hash": "159598559456743879175204965578039807509",
"length": 694.0
},
"target": {
"file": "net/tls/tls_strp.c",
"function": "tls_strp_read_sock"
},
"id": "CVE-2025-38471-afddfd19"
}
]