Skip to main content

Linux Kernel EUVDEUVD-2026-38842

| CVE-2026-52974 HIGH
Memory Leak (CWE-401)
2026-06-24 Linux GHSA-5jx6-m427-9p5p
High
Disputed · 7.5 Vendor: Linux
Share

Severity by source

Sources disagree (Low–High)
Vendor (Linux) PRIMARY
7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

Triggering requires local socket setup of kTLS RX offload (AV:L, PR:L) on specific offload hardware and forcing a driver failure (AC:H); impact is memory-exhaustion availability only (A:H, C:N, I:N).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
4.0 MEDIUM
AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Red Hat
5.5 LOW
qualitative

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jun 28, 2026 - 08:38 vuln.today
CVSS changed
Jun 28, 2026 - 08:22 NVD
7.5 (HIGH)
Patch available
Jun 24, 2026 - 18:02 EUVD
CVE Published
Jun 24, 2026 - 16:28 cve.org
HIGH 7.5
CVE Published
Jun 24, 2026 - 16:28 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

net: tls: fix strparser anchor skb leak on offload RX setup failure

When tls_set_device_offload_rx() fails at tls_dev_add(), the error path calls tls_sw_free_resources_rx() to clean up the SW context that was initialized by tls_set_sw_offload(). This function calls tls_sw_release_resources_rx() (which stops the strparser via tls_strp_stop()) and tls_sw_free_ctx_rx() (which kfrees the context), but never frees the anchor skb that was allocated by alloc_skb(0) in tls_strp_init().

Note that tls_sw_free_resources_rx() is exclusively used for this "failed to start offload" code path, there's no other caller.

The leak did not exist before commit 84c61fe1a75b ("tls: rx: do not use the standard strparser"), because the standard strparser doesn't try to pre-allocate an skb.

The normal close path in tls_sk_proto_close() handles cleanup by calling tls_sw_strparser_done() (which calls tls_strp_done()) after dropping the socket lock, because tls_strp_done() does cancel_work_sync() and the strparser work handler takes the socket lock.

AnalysisAI

Memory exhaustion (denial of service) in the Linux kernel's TLS device-offload receive path, where a failure during hardware offload setup leaks the strparser anchor socket buffer (skb) and never frees it. Affecting kernels from the introduction of the custom strparser (commit 84c61fe1a75b) onward, repeated triggering of the offload setup-failure path slowly drains kernel memory; CVSS rates availability impact High (7.5) but EPSS is low (0.18%, 8th percentile) and there is no public exploit identified at time of analysis. The regression was introduced by the kTLS-specific strparser rewrite and does not affect kernels using the standard strparser.

Technical ContextAI

The flaw lives in the kernel TLS (kTLS) subsystem's hardware-offloaded receive path (net/tls). When inline TLS RX offload is requested on a NIC that supports it, tls_set_device_offload_rx() first initializes the software context via tls_set_sw_offload(), which calls tls_strp_init() and pre-allocates a zero-length anchor skb with alloc_skb(0) for the custom strparser. If the subsequent tls_dev_add() driver call fails, the error path invokes tls_sw_free_resources_rx(), which stops the strparser and kfrees the context but omits freeing that anchor skb - a classic missing-free / resource-cleanup error (CWE-401-class memory leak; the CVE lists CWE as N/A). The leak is specific to the custom strparser introduced by commit 84c61fe1a75b ('tls: rx: do not use the standard strparser'); the previous standard strparser did not pre-allocate an skb, so no leak existed. The normal socket-close path frees correctly because it routes cleanup through tls_sw_strparser_done()/tls_strp_done() after releasing the socket lock, a path the offload-failure branch never reaches.

RemediationAI

Vendor-released patch: upgrade to a fixed stable kernel - 6.1.175, 6.6.141, 6.12.91, 6.18.33, 7.0.10, or 7.1 (or later within each branch), corresponding to stable commits 9c54e76f8d6e, 688f12aa4451, 0c9f399b37ce, bd07fe6c38b9, 3c405dfa9619, and 58689498ca33 (https://git.kernel.org/stable/c/9c54e76f8d6eb11735918777ef0e0509e089557d and siblings). If immediate patching is not possible, the targeted compensating control is to disable inline TLS receive hardware offload so the vulnerable tls_set_device_offload_rx() path is never taken - e.g., disable the 'tls-hw-rx-offload' NIC feature via ethtool (ethtool -K <iface> tls-hw-rx-offload off); the trade-off is loss of NIC-accelerated TLS decryption, pushing kTLS RX back to software (higher CPU cost) but eliminating the leak path entirely. Because the leak is gradual, scheduled monitoring of kernel slab/skb memory and periodic reboot of long-lived offload-using hosts is a reasonable interim measure. Track via EUVD-2026-38842 (https://nvd.nist.gov/vuln/detail/CVE-2026-52974) and the vuldb entry https://vuldb.com/vuln/373298.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-38842 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy