---
id: CVE-2025-40176
title: 'tls: wait for pending async decryptions if tls_strp_msg_hold fails'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  tls: wait for pending async decryptions if tls_strp_msg_hold fails

  Async decryption calls tls_strp_msg_hold to create a clone of the
  input skb to hold references to th…
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 >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 <
    9f83fd0c179e0f458e824e417f9d5ad53443f685
  - >-
    Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 <
    c61d4368197d65c4809d9271f3b85325a600586a
  - >-
    Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 <
    39dec4ea3daf77f684308576baf483b55ca7f160
  - >-
    Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 <
    4fc109d0ab196bd943b7451276690fb6bb48c2e0
  - >-
    Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 <
    b8a6ff84abbcbbc445463de58704686011edc8e1
  - Linux 6.0
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-10-15T21:57:41.100381Z'
published: '2025-11-12'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T22:02:39.716Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2025-40176'
references:
  - url: 'https://git.kernel.org/stable/c/9f83fd0c179e0f458e824e417f9d5ad53443f685'
  - url: 'https://git.kernel.org/stable/c/c61d4368197d65c4809d9271f3b85325a600586a'
  - url: 'https://git.kernel.org/stable/c/39dec4ea3daf77f684308576baf483b55ca7f160'
  - url: 'https://git.kernel.org/stable/c/4fc109d0ab196bd943b7451276690fb6bb48c2e0'
  - url: 'https://git.kernel.org/stable/c/b8a6ff84abbcbbc445463de58704686011edc8e1'
tags:
  - cve.org
epss: 0.00461
epssPercentile: 0.38391
ingestedAt: '2026-10-15T22:48:25.550Z'
---

## Overview

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

tls: wait for pending async decryptions if tls_strp_msg_hold fails

Async decryption calls tls_strp_msg_hold to create a clone of the
input skb to hold references to the memory it uses. If we fail to
allocate that clone, proceeding with async decryption can lead to
various issues (UAF on the skb, writing into userspace memory after
the recv() call has returned).

In this case, wait for all pending decryption requests.

## Affected

- `Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 < 9f83fd0c179e0f458e824e417f9d5ad53443f685`
- `Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 < c61d4368197d65c4809d9271f3b85325a600586a`
- `Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 < 39dec4ea3daf77f684308576baf483b55ca7f160`
- `Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 < 4fc109d0ab196bd943b7451276690fb6bb48c2e0`
- `Linux >= 84c61fe1a75b4255df1e1e7c054c9e6d048da417 < b8a6ff84abbcbbc445463de58704686011edc8e1`
- `Linux 6.0`

## Remediation

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