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

net/handshake: Take a long-lived file reference at submit

handshake_nl_accept_doit() needs the file pointer backing
req->hr_sk->sk_socket to survive the window between
handshake_req_next() and the subsequent FD_PREPARE() and get_file().
The submit-side sock_hold() does not provide that. sk_refcnt keeps
struct sock alive, but struct socket is owned by sock->file: when
the consumer fputs the last file reference, sock_release() tears
the socket down regardless of any sock_hold.

Add an hr_file pointer to struct handshake_req and acquire an
explicit reference on sock->file during handshake_req_submit().
handshake_complete() and handshake_req_cancel() release the
reference on the completion-bit-winning path.

The submit error path must also release the file reference, but
after rhashtable insertion a concurrent handshake_req_cancel() can
discover the request and race the error path. Gate the error-path
cleanup -- sk_destruct restoration, fput, and request destruction
-- with test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED), the same
serialization handshake_complete() and handshake_req_cancel()
already use. When cancel has already claimed ownership, the submit
error path returns without touching the request; socket teardown
handles final destruction.

The accept-side dereferences are not yet retargeted; that change
comes in the next patch.
Published: 2026-07-25
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Use‑after‑Free leading to memory corruption
Action: Patch immediately
AI Analysis

Impact

The Linux kernel contains a race condition in the net/handshake module that allows a file descriptor reference to be prematurely released while the handshake is still in progress. The result is a use‑after‑free of the socket’s file structure, potentially corrupting kernel memory. The CVE description does not explicitly state that code execution is guaranteed, but a use‑after‑free can be a stepping‑stone to arbitrary execution if an attacker can craft suitable inputs. The impact is therefore described as memory corruption with the possibility of further escalation, inferred from the nature of the flaw.

Affected Systems

All Linux kernel releases that do not incorporate the patch commits (e.g., commit 09dba37ee… and later merges) are vulnerable. This includes kernels built directly from upstream mainline by distributions or custom builds that omit the fix.

Risk and Exploitability

The vulnerability carries a CVSS score of 9.8, indicating critical severity. The EPSS score is below 1%, suggesting that at the time of analysis exploitation activity is limited, though the issue is still widely publicly known. It is not listed in the CISA KEV catalog. The attack vector is inferred to involve malicious netlink handshake messages sent by a process that can invoke the handshake API, potentially from a local user or from a network‑reachable source if netlink traffic is exposed. The exploitation requires a timing win but the narrow window does not preclude advanced attackers.

Generated by OpenCVE AI on October 20, 2026 at 09:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel update that includes the net/handshake patch (e.g., commit 09dba37ee… or any later release that merges it).
  • If an immediate kernel upgrade is not possible, restrict netlink traffic that can reach the handshake interface, such as blocking or filtering netlink handshake messages with firewall rules or netfilter.
  • Configure mandatory access control (SELinux, AppArmor, etc.) to limit which processes may use the netlink handshake API, thereby preventing untrusted users from triggering the race.

Generated by OpenCVE AI on October 20, 2026 at 09:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8663-1 Linux kernel (NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-8664-1 Linux kernel (NVIDIA BaseOS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-1 Linux kernel (GCP) vulnerabilities
Ubuntu USN Ubuntu USN USN-8781-1 Linux kernel (NVIDIA Tegra) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-2 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-3 Linux kernel (Oracle) vulnerabilities
History

Wed, 21 Oct 2026 13:00:00 +0000


Mon, 19 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Fri, 16 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Sun, 09 Aug 2026 18:45:00 +0000


Thu, 30 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 27 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Sat, 25 Jul 2026 10:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: net/handshake: Take a long-lived file reference at submit handshake_nl_accept_doit() needs the file pointer backing req->hr_sk->sk_socket to survive the window between handshake_req_next() and the subsequent FD_PREPARE() and get_file(). The submit-side sock_hold() does not provide that. sk_refcnt keeps struct sock alive, but struct socket is owned by sock->file: when the consumer fputs the last file reference, sock_release() tears the socket down regardless of any sock_hold. Add an hr_file pointer to struct handshake_req and acquire an explicit reference on sock->file during handshake_req_submit(). handshake_complete() and handshake_req_cancel() release the reference on the completion-bit-winning path. The submit error path must also release the file reference, but after rhashtable insertion a concurrent handshake_req_cancel() can discover the request and race the error path. Gate the error-path cleanup -- sk_destruct restoration, fput, and request destruction -- with test_and_set_bit(HANDSHAKE_F_REQ_COMPLETED), the same serialization handshake_complete() and handshake_req_cancel() already use. When cancel has already claimed ownership, the submit error path returns without touching the request; socket teardown handles final destruction. The accept-side dereferences are not yet retargeted; that change comes in the next patch.
Title net/handshake: Take a long-lived file reference at submit
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-21T12:43:25.473Z

Reserved: 2026-07-19T15:36:31.794Z

Link: CVE-2026-64523

cve-icon Vulnrichment

Updated: 2026-10-16T15:41:37.800Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-07-25T10:17:38.597

Modified: 2026-11-03T18:15:39.353

Link: CVE-2026-64523

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64523 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T10:00:14Z

Weaknesses