Skip to content
CVE PROGRAM SOURCE RECORD9.8 Critical

CVE-2025-68775

net/handshake: duplicate handshake cancellations leak socket

Description

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 3b3009ea8abb713b022d94fba95ec270cf6e7eae to < 011ae80c49d9bfa5b4336f8bd387cd25c7593663affected
  • 3b3009ea8abb713b022d94fba95ec270cf6e7eae to < e1641177e7fb48a0a5a06658d4aab51da6656659affected
  • 3b3009ea8abb713b022d94fba95ec270cf6e7eae to < 3c330f1dee3cd92b57e19b9d21dc8ce5970b09beaffected
  • 3b3009ea8abb713b022d94fba95ec270cf6e7eae to < 15564bd67e2975002f2a8e9defee33e321d3183faffected

Linux Linux

Default version status: affected

  • 6.4affected
  • 0 to < 6.4unaffected
  • 6.6.120 to ≤ 6.6.*unaffected
  • 6.12.64 to ≤ 6.12.*unaffected
  • 6.18.3 to ≤ 6.18.*unaffected
  • 6.19 to ≤ *unaffected

References