{"id":"CVE-2025-68775","revision":"61eaaf7f925247139c06d3c7b4b28fe5","records":[{"revision":"61eaaf7f925247139c06d3c7b4b28fe5","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2025-68775","aliases":[],"title":"net/handshake: duplicate handshake cancellations leak socket","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/handshake: duplicate handshake cancellations leak socket\n\nWhen a handshake request is cancelled it is removed from the\nhandshake_net->hn_requests list, but it is still present in the\nhandshake_rhashtbl until it is destroyed.\n\nIf a second cancellation request arrives for the same handshake request,\nthen remove_pending() will return false... and assuming\nHANDSHAKE_F_REQ_COMPLETED isn't set in req->hr_flags, we'll continue\nprocessing through the out_true label, where we put another reference on\nthe sock and a refcount underflow occurs.\n\nThis can happen for example if a handshake times out - particularly if\nthe SUNRPC client sends the AUTH_TLS probe to the server but doesn't\nfollow it up with the ClientHello due to a problem with tlshd.  When the\ntimeout is hit on the server, the server will send a FIN, which triggers\na cancellation request via xs_reset_transport().  When the timeout is\nhit on the client, another cancellation request happens via\nxs_tls_handshake_sync().\n\nAdd a test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED) in the pending cancel\npath so duplicate cancels can be detected.","state":0,"publishedAt":"2026-01-13T15:28:52.069+00:00","modifiedAt":"2026-10-19T18:05:06.829+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/handshake/request.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3b3009ea8abb713b022d94fba95ec270cf6e7eae\",\n                            \"lessThan\": \"011ae80c49d9bfa5b4336f8bd387cd25c7593663\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3b3009ea8abb713b022d94fba95ec270cf6e7eae\",\n                            \"lessThan\": \"e1641177e7fb48a0a5a06658d4aab51da6656659\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3b3009ea8abb713b022d94fba95ec270cf6e7eae\",\n                            \"lessThan\": \"3c330f1dee3cd92b57e19b9d21dc8ce5970b09be\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"3b3009ea8abb713b022d94fba95ec270cf6e7eae\",\n                            \"lessThan\": \"15564bd67e2975002f2a8e9defee33e321d3183f\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"net/handshake/request.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.4\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.4\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.120\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.64\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.3\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.19\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8,"severity":"CRITICAL"}],"references":["https://git.kernel.org/stable/c/011ae80c49d9bfa5b4336f8bd387cd25c7593663","https://git.kernel.org/stable/c/e1641177e7fb48a0a5a06658d4aab51da6656659","https://git.kernel.org/stable/c/3c330f1dee3cd92b57e19b9d21dc8ce5970b09be","https://git.kernel.org/stable/c/15564bd67e2975002f2a8e9defee33e321d3183f"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2025-68775","license":"CVE Program Terms of Use","key":"cve-program:CVE-2025-68775","identifiers":["CVE-2025-68775"]},"retained":false,"historicalAffected":[]}],"coverage":[]}