CVE-2025-68775CWE-662

CVE-2025-68775

Critical · published January 13, 2026

CVSS v3.1
9.8
EPSS
1%
Percentile
45.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00548 · 45.1th percentile
Weakness
CWE-662 · Improper Synchronization
Published
2026-01-13T21:15Z
References (4)
EPSS history
Timeline
  • 13 JAN 15:28Z
    net/handshake: duplicate handshake cancellations leak socket
    cvelistv5