Skip to main content

Linux Kernel CVE-2025-68775

CRITICAL
2026-01-13 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Critical
Disputed · 9.8 Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Sources disagree (Low–Critical)
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
5.9 MEDIUM

Remote peer/timeout triggers the bug (AV:N, PR:N) but it needs a handshake-cancellation race (AC:H); realistic impact is a kernel crash/DoS (A:H), with no confirmed confidentiality or integrity effect.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Red Hat
3.3 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: 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 Updated
Jul 30, 2026 - 06:48 vuln.today
v2 (cvss_changed)
Re-analysis Queued
Jul 30, 2026 - 06:37 vuln.today
cvss_changed
CVSS changed
Jul 30, 2026 - 06:37 NVD
9.8 (CRITICAL)
Analysis Generated
Mar 12, 2026 - 21:54 vuln.today
CVE Published
Jan 13, 2026 - 16:15 nvd
N/A

DescriptionCVE.org

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

net/handshake: duplicate handshake cancellations leak socket

When a handshake request is cancelled it is removed from the handshake_net->hn_requests list, but it is still present in the handshake_rhashtbl until it is destroyed.

If a second cancellation request arrives for the same handshake request, then remove_pending() will return false... and assuming HANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue processing through the out_true label, where we put another reference on the sock and a refcount underflow occurs.

This can happen for example if a handshake times out - particularly if the SUNRPC client sends the AUTH_TLS probe to the server but doesn't follow it up with the ClientHello due to a problem with tlshd. When the timeout is hit on the server, the server will send a FIN, which triggers a cancellation request via xs_reset_transport(). When the timeout is hit on the client, another cancellation request happens via xs_tls_handshake_sync().

Add a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel path so duplicate cancels can be detected.

AnalysisAI

Refcount underflow in the Linux kernel's net/handshake subsystem lets duplicate cancellation of the same TLS handshake request drop an extra reference on the underlying socket, corrupting its reference count and leaking/freeing the socket structure. The flaw affects kernels using the in-kernel TLS handshake upcall path (notably SUNRPC-over-TLS via tlshd), where a handshake timeout can trigger two cancellation requests - one from xs_reset_transport() and one from xs_tls_handshake_sync() - for a request still present in handshake_rhashtbl. Despite an assigned 9.8 CVSS, the practical impact is a kernel memory-safety fault (crash / potential use-after-free) rather than trivial remote code execution, and there is no public exploit identified at time of analysis; EPSS is very low (0.03%).

Technical ContextAI

The vulnerable code is the kernel handshake request lifecycle in net/handshake (the tls_handshake / AF_HANDSHAKE upcall mechanism introduced to let userspace tlshd negotiate TLS for kernel consumers such as SUNRPC/NFS-over-TLS). Each handshake request lives in two structures: the per-netns hn_requests list and the handshake_rhashtbl rhashtable. On cancellation, remove_pending() unlinks the request from hn_requests but the entry persists in the rhashtable until destruction. A second cancel for the same request makes remove_pending() return false, yet because HANDSHAKE_F_REQ_COMPLETED is not set the code still follows the out_true path and calls sock_put() again - an unbalanced reference release. The root-cause class is a reference-counting error (CWE-911 'Release of Invalid Pointer or Reference' / CWE-416 use-after-free), even though the NVD CWE field is unpopulated and the vendor tag mislabels it as 'Information Disclosure'. The fix adds test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending-cancel path so a duplicate cancel is detected and the second sock_put() is skipped.

Affected ProductsAI

The Linux kernel is affected in versions that include the net/handshake TLS upcall subsystem (present since the ~6.5 series when kernel TLS handshake support and SUNRPC-over-TLS landed). No exact vulnerable version range or CPE was supplied in the input. Distribution-level exposure is confirmed for Ubuntu, whose advisory USN-8177-1 (https://ubuntu.com/security/notices/USN-8177-1) tracks fixed kernel packages. Upstream stable fixes are recorded at git.kernel.org for multiple stable branches via commits 011ae80c49d9bfa5b4336f8bd387cd25c7593663, 15564bd67e2975002f2a8e9defee33e321d3183f, 3c330f1dee3cd92b57e19b9d21dc8ce5970b09be, and e1641177e7fb48a0a5a06658d4aab51da6656659. A third-party summary is available at VulDB (https://vuldb.com/?id.340667).

RemediationAI

Apply the vendor kernel update: on Ubuntu install the fixed kernel packages per USN-8177-1 (https://ubuntu.com/security/notices/USN-8177-1) and reboot; on other distributions upgrade to a stable kernel that contains the backported fix (upstream stable commits 011ae80c49d9bfa5b4336f8bd387cd25c7593663, 15564bd67e2975002f2a8e9defee33e321d3183f, 3c330f1dee3cd92b57e19b9d21dc8ce5970b09be, e1641177e7fb48a0a5a06658d4aab51da6656659 at git.kernel.org). No single upstream tagged release version was provided, so confirm the exact patched build with your distribution. Where immediate patching is not possible, the practical compensating control is to avoid the vulnerable code path: disable or do not deploy TLS for SUNRPC/NFS (do not run tlshd / do not mount with the xprtsec=tls|mtls option), which prevents the handshake-cancellation race entirely - the trade-off is loss of transport encryption for those RPC connections, so use it only where network confidentiality is otherwise assured (e.g. isolated/trusted segments or IPsec). Reducing handshake timeouts or fixing tlshd instability lowers the odds of the double-cancel timeout but is not a reliable fix.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.0/toolbox:latest Affected
Container suse/sl-micro/6.0/base-os-container:2.1.3-7.95 Image SL-Micro Image SLE-Micro Image SLE-Micro-Azure Image SLE-Micro-BYOS Image SLE-Micro-BYOS-Azure Image SLE-Micro-BYOS-EC2 Image SLE-Micro-BYOS-GCE Image SLE-Micro-EC2 Image SLE-Micro-GCE Affected
Container suse/sl-micro/6.0/kvm-os-container:2.1.3-6.115 Affected
Container suse/sl-micro/6.0/rt-os-container:2.1.3-7.146 Affected
Container suse/sl-micro/6.1/base-os-container:2.2.1-5.80 Image SL-Micro-Azure Image SL-Micro-BYOS-Azure Image SL-Micro-BYOS-EC2 Image SL-Micro-BYOS-GCE Image SL-Micro-EC2 Image SUSE-Multi-Linux-Manager-Proxy-BYOS-Azure Image SUSE-Multi-Linux-Manager-Proxy-BYOS-EC2 Image SUSE-Multi-Linux-Manager-Proxy-BYOS-GCE Image SUSE-Multi-Linux-Manager-Server-Azure-llc Image SUSE-Multi-Linux-Manager-Server-Azure-ltd Image SUSE-Multi-Linux-Manager-Server-BYOS-Azure Image SUSE-Multi-Linux-Manager-Server-BYOS-EC2 Image SUSE-Multi-Linux-Manager-Server-BYOS-GCE Image SUSE-Multi-Linux-Manager-Server-EC2-llc Image SUSE-Multi-Linux-Manager-Server-EC2-ltd Affected

Share

CVE-2025-68775 vulnerability details – vuln.today

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