Skip to main content

Linux Kernel CVE-2026-72222

| EUVDEUVD-2026-59121 CRITICAL
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-6mfm-2hg9-7gww
9.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
8.1 HIGH

Remote unauthenticated on a network service (AV:N/PR:N/UI:N), but success depends on winning a close-versus-downcall race, so AC:H; a freed-slab write primitive justifies high C/I/A.

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

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

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

Lifecycle Timeline

5
Analysis Generated
Aug 17, 2026 - 07:45 vuln.today
CVSS changed
Aug 17, 2026 - 06:22 NVD
9.8 (CRITICAL)
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:21 cve.org
CRITICAL 9.8
CVE Published
Aug 15, 2026 - 06:21 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

sunrpc: pin svc_xprt across the asynchronous TLS handshake callback

svc_tcp_handshake() stores the raw svc_xprt pointer in tls_handshake_args.ta_data and submits the request through tls_server_hello_x509(). The handshake core takes only sock_hold(req->hr_sk); nothing references the embedding struct svc_sock that svc_tcp_handshake_done() reaches via container_of().

Two close races leave the in-flight callback writing through a freed svc_sock. svc_sock_free() calls tls_handshake_cancel() and discards its return value: a false return means handshake_complete() has already set HANDSHAKE_F_REQ_COMPLETED but hp_done() may not have finished, yet svc_sock_free() proceeds to kfree(svsk). The cancel-loser fall-through inside svc_tcp_handshake() itself produces the same window: when wait_for_completion_interruptible_timeout() returns <= 0 (timeout or signal) and tls_handshake_cancel() returns false, the function does not drain, returns, and svc_handle_xprt() calls svc_xprt_received(), which clears XPT_BUSY and can drop the last reference. A concurrent close then runs svc_sock_free() while svc_tcp_handshake_done() is still updating xpt_flags and walking svsk->sk_handshake_done.

The corruption surfaces as set_bit/clear_bit RMW into the freed xpt_flags slab slot and as complete_all() walking and writing the freed wait_queue_head_t list embedded in sk_handshake_done -- a slab-corruption primitive, not a benign read. The path is reachable on any TLS-enabled NFS server whenever a connection close overlaps the tlshd downcall delivery window; the interruptible wait means signal delivery suffices, not just SVC_HANDSHAKE_TO expiry.

Take svc_xprt_get(xprt) immediately before tls_server_hello_x509() so the in-flight callback owns its own reference. Release it on the two edges where the callback is guaranteed not to fire -- submission failure from tls_server_hello_x509() and a successful tls_handshake_cancel() -- and at the tail of svc_tcp_handshake_done() after complete_all().

[cel: rewrote commit message to describe the actual change]

AnalysisAI

Use-after-free in the Linux kernel's sunrpc server-side TLS handshake path (svc_tcp_handshake/svc_sock) allows the asynchronous tlshd handshake-completion callback to write through a freed struct svc_sock, corrupting slab memory on any NFS server configured for RPC-with-TLS. Two close-versus-cancel races let svc_sock_free() kfree() the socket while svc_tcp_handshake_done() is still updating xpt_flags and walking the embedded wait queue, yielding an attacker-influenceable slab-corruption primitive rather than a benign read. No public exploit identified at time of analysis and EPSS is low (0.20%), but the fix is upstream in stable kernels.

Technical ContextAI

The affected component is the kernel SunRPC server (net/sunrpc) support for NFS-over-TLS, where svc_tcp_handshake() hands a raw svc_xprt pointer to the userspace tlshd daemon via tls_server_hello_x509() and expects an asynchronous downcall into svc_tcp_handshake_done(), which recovers the embedding struct svc_sock through container_of(). The handshake core only takes sock_hold(req->hr_sk) and never pins the svc_xprt, so the lifetime of the object the callback dereferences is not tied to the in-flight handshake. This is a classic Use-After-Free (CWE-416): the RMW set_bit/clear_bit on xpt_flags and the complete_all() walk of the freed wait_queue_head_t in sk_handshake_done occur after kfree(svsk). It is specific to kernels that expose the RPC-with-TLS server feature (introduced in the 6.x series) with tlshd handling the downcall; no CPE strings were supplied, so exact product matching relies on the kernel.org stable commit references and EUVD version ranges.

RemediationAI

Vendor-released patch: update to a fixed stable kernel - 6.6.145, 6.12.97, 6.18.40, 7.1.5, or 7.2-rc1 or later (fix commits at https://git.kernel.org/stable/c/083e9c2ec7e8bb13b79c9fd7b337abdd758ecc5f and the sibling stable commits listed in the EUVD), which adds svc_xprt_get(xprt) before tls_server_hello_x509() and releases it on the submission-failure, successful-cancel, and callback-tail edges so the in-flight callback owns its own reference. Apply the kernel update your distribution ships once it backports these commits. If you cannot patch immediately, the concrete compensating control is to disable NFS-over-TLS on affected servers (stop advertising xprtsec=tls / stop tlshd), which removes the vulnerable handshake path entirely at the cost of losing transport encryption for NFS; alternatively restrict which clients can reach the NFS server TCP ports via firewall/allowlist to shrink the population able to open and abruptly close TLS handshakes. There is no safe in-kernel toggle for the race itself, so upgrading is the durable fix.

Vendor StatusVendor

SUSE

Severity: Important
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

CVE-2026-72222 vulnerability details – vuln.today

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