Skip to content

Commit b58e845

Browse files
author
CKI KWF Bot
committed
Merge: CVE-2025-38471: tls: always refresh the queue when reading sock
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/1267 JIRA: https://issues.redhat.com/browse/RHEL-106093 CVE: CVE-2025-38471 ``` commit 4ab26bc Author: Jakub Kicinski <[email protected]> Date: Wed Jul 16 07:38:50 2025 -0700 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"). Fixes: 0d87bbd ("tls: strp: make sure the TCP skbs do not have overlapping data") Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]> ``` Signed-off-by: CKI Backport Bot <[email protected]> --- <small>Created 2025-07-30 12:32 UTC by backporter - [KWF FAQ](https://red.ht/kernel_workflow_doc) - [Slack #team-kernel-workflow](https://redhat-internal.slack.com/archives/C04LRUPMJQ5) - [Source](https://gitlab.com/cki-project/kernel-workflow/-/blob/main/webhook/utils/backporter.py) - [Documentation](https://gitlab.com/cki-project/kernel-workflow/-/blob/main/docs/README.backporter.md) - [Report an issue](https://issues.redhat.com/secure/CreateIssueDetails!init.jspa?pid=12334433&issuetype=1&priority=4&summary=backporter+webhook+issue&components=kernel-workflow+/+backporter)</small> Approved-by: Marc Milgram <[email protected]> Approved-by: Murphy Zhou <[email protected]> Approved-by: Andrea Claudi <[email protected]> Approved-by: CKI KWF Bot <[email protected]> Merged-by: CKI GitLab Kmaint Pipeline Bot <[email protected]>
2 parents 149f4a4 + bdcff43 commit b58e845

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

net/tls/tls_strp.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,9 +511,8 @@ static int tls_strp_read_sock(struct tls_strparser *strp)
511511
if (inq < strp->stm.full_len)
512512
return tls_strp_read_copy(strp, true);
513513

514+
tls_strp_load_anchor_with_queue(strp, inq);
514515
if (!strp->stm.full_len) {
515-
tls_strp_load_anchor_with_queue(strp, inq);
516-
517516
sz = tls_rx_msg_size(strp, strp->anchor);
518517
if (sz < 0) {
519518
tls_strp_abort_strp(strp, sz);

0 commit comments

Comments
 (0)