CVE-2026-23414
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2026
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
tls: Purge async_hold in tls_decrypt_async_wait()
In the Linux kernel, the following vulnerability has been resolved: tls: Purge async_hold in tls_decrypt_async_wait() The async_hold queue pins encrypted input skbs while the AEAD engine references their scatterlist data. Once tls_decrypt_async_wait() 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 tls_sw_read_sock(), introducing a new call site that must drain pending AEAD operations and release held skbs. Move __skb_queue_purge(&ctx->async_hold) into tls_decrypt_async_wait() so the purge is centralized and every caller -- recvmsg's drain path, the -EBUSY fallback in tls_do_decryption(), and the new read_sock batch path -- releases held skbs on synchronization without each site managing the purge independently. This fixes a leak when tls_strp_msg_hold() fails part-way through, after having added some cloned skbs to the async_hold queue. tls_decrypt_sg() will then call tls_decrypt_async_wait() to process all pending decrypts, and drop back to synchronous mode, but tls_sw_recvmsg() only flushes the async_hold queue when one record has been processed in "fully-async" mode, which may not be the case here. [pabeni@redhat.com: added leak comment]
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 9f83fd0c179e0f458e824e417f9d5ad53443f685 | affected | git | ac435be7c7613eb13a5a8ceb5182e10b50c9ce87 | Unavailable | None listed |
| c61d4368197d65c4809d9271f3b85325a600586a | affected | git | 2dcf324855c34e7f934ce978aa19b645a8f3ee71 | Unavailable | None listed |
| 39dec4ea3daf77f684308576baf483b55ca7f160 | affected | git | 6dc11e0bd0a5466bcc76d275c09e5537bd0597dd | Unavailable | None listed |
| b8a6ff84abbcbbc445463de58704686011edc8e1 | affected | git | 9f557c7eae127b44d2e863917dc986a4b6cb1269 | Unavailable | None listed |
| b8a6ff84abbcbbc445463de58704686011edc8e1 | affected | git | fd8037e1f18ca5336934d0e0e7e1a4fe097e749d | Unavailable | None listed |
| b8a6ff84abbcbbc445463de58704686011edc8e1 | affected | git | 84a8335d8300576f1b377ae24abca1d9f197807f | Unavailable | None listed |
| 4fc109d0ab196bd943b7451276690fb6bb48c2e0 | affected | git | Unavailable | Unavailable | None listed |
| 6.1.158 | affected | semver | 6.1.168 | Unavailable | None listed |
| 6.6.114 | affected | semver | 6.6.131 | Unavailable | None listed |
| 6.12.55 | affected | semver | 6.12.80 | Unavailable | None listed |
| 6.17.5 | affected | semver | 6.18 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 6.18 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 6.18 | Unavailable | None listed |
| 6.1.168 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.6.131 | unaffected | semver | Unavailable | 6.6.* | None listed |
| 6.12.80 | unaffected | semver | Unavailable | 6.12.* | None listed |
| 6.18.21 | unaffected | semver | Unavailable | 6.18.* | None listed |
| 6.19.11 | unaffected | semver | Unavailable | 6.19.* | None listed |
| 7.0 | unaffected | original_commit_for_fix | Unavailable | * | None listed |