net/handshake: duplicate handshake cancellations leak socket (Linux Linux)

CVE-2025-68775
CRITICAL 9.8

At a glance

Source
NVD
EPSS
EPSS 0.55 % · percentile 46 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Deferred

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.

Weaknesses (CWE)

  • CWE-662 — Improper Synchronization

References

Scores

VersionScoreVectorScored by
CVSS 3.1CRITICAL 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1CRITICAL 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected 3b3009ea8abb713b022d94fba95ec270cf6e7eae < 011ae80c49d9bfa5b4336f8bd387cd25c7593663 ; affected 3b3009ea8abb713b022d94fba95ec270cf6e7eae < e1641177e7fb48a0a5a06658d4aab51da6656659 ; affected 3b3009ea8abb713b022d94fba95ec270cf6e7eae < 3c330f1dee3cd92b57e19b9d21dc8ce5970b09be ; affected 3b3009ea8abb713b022d94fba95ec270cf6e7eae < 15564bd67e2975002f2a8e9defee33e321d3183f
Linux · Linuxaffected 6.4 ; unaffected 0 < 6.4 ; unaffected 6.6.120 ≤ 6.6.* ; unaffected 6.12.64 ≤ 6.12.* ; unaffected 6.18.3 ≤ 6.18.* ; unaffected 6.19 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD