Skip to main content

Linux Kernel CVE-2026-63979

| EUVDEUVD-2026-45752 CRITICAL
Use After Free (CWE-416)
2026-07-19 Linux GHSA-52c3-j5qj-8hpp
Critical
Disputed · 9.8 Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Access host with kTLS handshake upcalls active
  2. Delivery
    Initiate handshake request via netlink
  3. Exploit
    Cancel handshake to free sock->file
  4. Execution
    Race accept-side dereference window
  5. Persist
    Kernel reads freed/NULL socket
  6. Impact
    Kernel crash (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target kernel to have the net/handshake upcall subsystem active with a userspace handshake agent servicing kTLS handshakes (typical of NFS/SunRPC or RDMA transports using tlshd), plus a consumer that cancels a handshake via tls_handshake_cancel() and releases the socket file (sockfd_put via svc_sock_free, or __fput_sync via xs_reset_transport). The attacker must win the race window between handshake_req_next() dropping hn_lock and handshake_nl_accept_doit() reaching FD_PREPARE(). Limiting factors: the handshake upcall path must be in use (non-default for hosts without kTLS consumers), local access to drive/cancel handshake requests is needed, and success is timing-dependent - contradicting the published AV:N/AC:L/PR:N vector, which is not supported by the described mechanism.

Impact

The signals conflict sharply. The published CVSS 3.1 is 9.8 (AV:N/AC:L/PR:N/UI:N, full C/I/A) implying trivial remote unauthenticated code execution, but the description and the Linux-reporter tag both point to a local race-condition use-after-free whose realistic outcome is a kernel crash (Denial of Service). EPSS agrees with the lower reading: 0.19% probability, 9th percentile, and there is no KEV entry and no known POC. The bug is only reachable on systems that actually use the kernel handshake upcall path (kTLS consumers such as NFS/SunRPC with a userspace handshake agent like tlshd running) and requires winning a narrow timing window between handshake_req_next() and FD_PREPARE(), so real-world exploitability is far below what 9.8 suggests. This should be treated as a genuine but low-urgency stability/DoS fix for most fleets, prioritized higher only where kTLS handshake upcalls are in active use. Explicit discrepancy to verify: CVSS advertises AV:N/AC:L/PR:N but the mechanism is a local, timing-dependent race requiring a cooperating/racing handshake consumer - the network vector and low complexity are not supported by the description.

Exploit ScenarioDerived

On a host using kernel TLS handshake upcalls, an attacker (or an unlucky consumer under load) initiates a handshake and then, from a cooperating consumer path, runs tls_handshake_cancel() followed by sockfd_put()/__fput_sync() precisely while the netlink accept path is reading sock->file, freeing the struct socket in that window. The accept side then dereferences NULL or freed memory, crashing the kernel; no public POC is known, and the AC:L in the published vector understates the timing precision the race actually requires.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 20, 2026

Use-after-free in the Linux kernel net/handshake subsystem (kernel 6.4 through the fixed 7.x builds) lets a concurrent handshake consumer free a struct socket and its backing file while the netlink accept path (handshake_nl_accept_doit) is dereferencing them, producing a NULL pointer read or freed-memory access. The flaw is a race between handshake_req_next() dropping hn_lock and the accept side reaching FD_PREPARE(), during which tls_handshake_cancel() plus sockfd_put()/__fput_sync() can release the object. No CISA KEV listing and no public exploit identified at time of analysis; EPSS is low at 0.19% (9th percentile) and the tags classify the practical impact as Denial of Service.

RemediationAI

Upstream fix available (stable commits c06876d4fac38f35820946ee3b1be7d7da799cd4 and f4251190e58b209999c1ba9e6d2976136a1be055 at git.kernel.org); update to a stable kernel that includes them (EUVD cites fixed levels 7.0.12 and 7.1) or apply your distribution's backported kernel package once released. Because the fix is delivered as stable commits rather than a single tagged release for every branch, confirm the exact patched build with your distribution's security tracker. If immediate patching is not possible, the practical compensating control is to avoid the vulnerable code path: do not run a userspace TLS handshake agent (e.g. tlshd) and do not enable kTLS handshake upcalls for NFS/SunRPC transports on exposed hosts, accepting that this disables kernel-brokered TLS handshakes for those services. Restrict which local principals can drive the handshake netlink family, since triggering the race requires local interaction with that interface. References: https://git.kernel.org/stable/c/c06876d4fac38f35820946ee3b1be7d7da799cd4 and https://git.kernel.org/stable/c/f4251190e58b209999c1ba9e6d2976136a1be055.

Affected VersionsENISA

Linux 6.4
Linux patch: 7.1
Linux 3b3009ea8abb713b022d94fba95ec270cf6e7eae <c06876d4fac38f35820946ee3b1be7d7da799cd4
Linux patch: 7.0.12
Linux 3b3009ea8abb713b022d94fba95ec270cf6e7eae <f4251190e58b209999c1ba9e6d2976136a1be055
Linux patch: 0

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected code is the kernel handshake upcall framework (net/handshake), which brokers TLS/kTLS handshakes between in-kernel consumers (SunRPC/NFS via svc_sock, xprtrdma/xs transports) and a userspace agent over a generic netlink family. The root cause is a lifetime/refcounting mismatch (CWE-416 use-after-free, class not populated in the feed): the submit side calls sock_hold(), which pins struct sock via sk_refcnt, but struct socket and sock->file are independently refcounted through the file descriptor the consumer owns. When a consumer cancels a handshake and runs sock_release()/sock_orphan(), sk_socket is zeroed and the struct socket freed even though the pinned sk survives, so the accept side that reads req->hr_sk->sk_socket->file is left dereferencing NULL or freed memory. The fix retargets the accept-side dereference at req->hr_file (pinned at submit time) and hands off an extra file reference inside handshake_req_next() under hn_lock so a racing handshake_req_cancel() cannot revoke it. CPE data is generic (cpe:2.3:a:linux:linux:*), consistent with a whole-kernel subsystem rather than a specific driver.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Sources disagree (Medium–Critical)
Vendor (Linux) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 4.7 MEDIUM

Local, timing-dependent race in the handshake upcall path requires a cooperating handshake consumer (AV:L/AC:H/PR:L); realistic outcome is a kernel crash, so A:H with no confidentiality/integrity impact.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE CRITICAL
Red Hat 7.0 MEDIUM

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorVendor: Linux

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
CVSS changed
Jul 20, 2026 - 15:22 NVD
9.8 (CRITICAL)
CVE Published
Jul 19, 2026 - 14:56 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 19, 2026 - 14:56 cve.org
CRITICAL 9.8

DescriptionCVE.org

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

net/handshake: hand off the pinned file reference to accept_doit

handshake_req_next() removes the request from the per-net pending list and drops hn_lock before handshake_nl_accept_doit() reads req->hr_sk->sk_socket and dereferences sock->file (once in FD_PREPARE() and again in get_file()). In that window a consumer running tls_handshake_cancel() followed by sockfd_put() (svc_sock_free) or __fput_sync() (xs_reset_transport) releases sock->file. sock_release() then runs sock_orphan(), zeroing sk_socket, and frees the struct socket. The accept-side code either reads NULL through sk_socket or chases freed memory.

The submit-side sock_hold() does not prevent this. sk_refcnt protects struct sock, but struct socket and sock->file are independently refcounted via the file descriptor the consumer owns. Pinning sk leaves sock and sock->file unprotected.

Retarget the accept-side dereferences at req->hr_file, which was pinned at submit time, instead of req->hr_sk->sk_socket->file. Pinning on its own is not sufficient: a consumer that cancels between handshake_req_next() returning and accept_doit reaching FD_PREPARE() takes the !remove_pending() branch in handshake_req_cancel() and drops hr_file before the accept side takes its own reference. Hand off an additional file reference inside handshake_req_next(), under hn_lock, so the accept side operates on a reference that no concurrent handshake_req_cancel() can revoke. FD_PREPARE() consumes that handed-off reference, either by transferring it to the new fd in fd_publish() or by dropping it in the cleanup destructor on error; the explicit get_file() that previously balanced FD_PREPARE() is therefore redundant and goes away.

Update handshake_req_cancel_test2 and _test3 to simulate the FD_PREPARE() consumption with an fput() so the kunit file-count assertions stay balanced.

Executive ViewAI

Why It Matters

A use-after-free race condition in the Linux kernel net/handshake subsystem (versions 6.4-7.x) can cause denial of service through kernel crashes or NULL pointer reads. While the vulnerability carries a critical CVSS score of 9.8, practical exploitation risk is minimal (0.2% EPSS) and the impact is limited to service disruption rather than data breach or system compromise; organizations should inventory affected kernel versions and plan patching without treating this as an emergency.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: (1) Monitor kernel panic logs and alert on crash anomalies to detect exploitation; (2) Implement workload-level resource isolation (containers, cgroups) to limit blast radius of kernel crashes; (3) Reduce concurrent TLS handshake operations through connection pooling or rate-limiting if operationally feasible; (4) Prioritize kernel patching of production systems in the normal update cycle. No emergency patching warranted given 0.2% practical exploitation likelihood.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Ubiquitous
Linux kernel runs across most server and cloud deployments worldwide
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

49
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +49
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Critical
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy