CVE-2026-23414: 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]
Security readout for executives and security teams
Plain-English summary
A Linux kernel TLS flaw can leave encrypted network-packet buffers allocated after an asynchronous decryption failure. Repeated triggering could consume memory and disrupt services or the host. The supplied CVSS assessment indicates availability impact only, with no identified confidentiality or integrity impact.
Executive priority
Treat this as a high-priority availability issue for systems using kernel TLS, especially externally reachable services. First identify actual kTLS use and affected builds, then schedule vendor-supported updates. Broader emergency action is not supported by the supplied exploitation evidence.
Technical view
When tls_strp_msg_hold() fails after cloning some socket buffers, the asynchronous fallback can complete without clearing async_hold. The fix centralizes queue purging in tls_decrypt_async_wait() after pending AEAD operations finish, covering recvmsg, synchronous fallback, and batched read paths.
Likely exposure
Exposure is limited to systems running an affected Linux kernel and exercising the kernel TLS receive/decryption path under the relevant asynchronous conditions. The supplied version data is difficult to interpret reliably, so validate distribution and appliance builds against vendor advisories and the referenced stable-kernel fixes.
Exploitation context
The CVSS vector describes network reachability, low complexity, and no required privileges or user interaction. However, the bundle contains no evidence of active exploitation or a public exploit, and the CVE is not listed as KEV. Practical triggering still depends on the affected kernel TLS processing path.
Researcher notes
The described defect is a resource leak involving held encrypted skbs, not a stated memory-corruption or data-disclosure flaw. The exact triggerability, leak rate, and affected-version boundaries are not fully established by the bundle. Avoid inferring exposure solely from the condensed version list; compare source ancestry and vendor backports.
Mitigation direction
Apply a vendor-supported kernel update containing the applicable referenced Linux stable fix.
Prioritize exposed systems whose workloads use kernel TLS receive processing.
Consult appliance and distribution advisories for product-specific fixed versions and deployment requirements.
Follow the referenced Siemens advisories where those products are present.
Validation and detection
Inventory running kernel builds, including appliances and container hosts.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23414 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
9Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.