CVE-2026-23414

Source
https://cve.org/CVERecord?id=CVE-2026-23414
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-23414.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2026-23414
Downstream
Related
Published
2026-04-02T11:40:55.746Z
Modified
2026-04-18T18:44:10.974888510Z
Summary
tls: Purge async_hold in tls_decrypt_async_wait()
Details

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

tls: Purge asynchold in tlsdecryptasyncwait()

The asynchold queue pins encrypted input skbs while the AEAD engine references their scatterlist data. Once tlsdecryptasyncwait() returns, every AEAD operation has completed and the engine no longer references those skbs, so they can be freed unconditionally.

A subsequent patch adds batch async decryption to tlsswread_sock(), introducing a new call site that must drain pending AEAD operations and release held skbs. Move _skbqueuepurge(&ctx->asynchold) into tlsdecryptasyncwait() so the purge is centralized and every caller -- recvmsg's drain path, the -EBUSY fallback in tlsdodecryption(), and the new readsock batch path -- releases held skbs on synchronization without each site managing the purge independently.

This fixes a leak when tlsstrpmsghold() fails part-way through, after having added some cloned skbs to the asynchold queue. tlsdecryptsg() will then call tlsdecryptasyncwait() to process all pending decrypts, and drop back to synchronous mode, but tlsswrecvmsg() only flushes the asynchold queue when one record has been processed in "fully-async" mode, which may not be the case here.

[pabeni@redhat.com: added leak comment]

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23414.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
9f83fd0c179e0f458e824e417f9d5ad53443f685
Fixed
ac435be7c7613eb13a5a8ceb5182e10b50c9ce87
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
c61d4368197d65c4809d9271f3b85325a600586a
Fixed
2dcf324855c34e7f934ce978aa19b645a8f3ee71
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
39dec4ea3daf77f684308576baf483b55ca7f160
Fixed
6dc11e0bd0a5466bcc76d275c09e5537bd0597dd
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b8a6ff84abbcbbc445463de58704686011edc8e1
Fixed
9f557c7eae127b44d2e863917dc986a4b6cb1269
Fixed
fd8037e1f18ca5336934d0e0e7e1a4fe097e749d
Fixed
84a8335d8300576f1b377ae24abca1d9f197807f
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
4fc109d0ab196bd943b7451276690fb6bb48c2e0

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-23414.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.1.168
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.131
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.80
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.18.21
Type
ECOSYSTEM
Events
Introduced
6.18.0
Fixed
6.19.11

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-23414.json"