Skip to main content

Linux Kernel CVE-2026-63910

| EUVDEUVD-2026-45683 HIGH
2026-07-19 Linux GHSA-cwcv-9vv2-wx88
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.0 HIGH

Local access and low-priv user (AV:L/PR:L); AC:H because a tight close()-vs-tracepoint race must be won and the tracepoint must be enabled; kernel UAF yields high C/I/A.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
Analysis Generated
Jul 20, 2026 - 16:14 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
7.8 (HIGH)
CVE Published
Jul 19, 2026 - 14:55 cve.org
HIGH 7.8
CVE Published
Jul 19, 2026 - 14:55 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

dma-buf: fix UAF in dma_buf_fd() tracepoint

Once FD_ADD() returns, the fd is live in the file descriptor table and a thread sharing that table can close() it before DMA_BUF_TRACE() runs. The close drops the last reference, __fput() frees the dma_buf, and the tracepoint then dereferences dmabuf to take dmabuf->name_lock -- slab-use-after-free.

Split FD_ADD() back into get_unused_fd_flags() + fd_install() and emit the tracepoint between them. While the fdtable slot is reserved with a NULL file pointer, a racing close() returns -EBADF without entering __fput(), so the dma_buf stays alive across the trace. Same approach as commit 2d76319c4cbb ("dma-buf: fix UAF in dma_buf_put() tracepoint").

This undoes the FD_ADD() conversion done in commit 34dfce523c90 ("dma: convert dma_buf_fd() to FD_ADD()"); FD_ADD() has no place to hook the tracepoint safely.

AnalysisAI

Local privilege-boundary memory corruption in the Linux kernel dma-buf subsystem allows a local user to trigger a slab-use-after-free via a race in the dma_buf_fd() tracepoint (DMA_BUF_TRACE). After the FD_ADD() conversion, a thread sharing the file descriptor table can close() the freshly installed dma-buf fd before the tracepoint dereferences dmabuf->name_lock, freeing the object under the trace. Fixed in stable 7.0.12 and 7.1; there is no public exploit identified at time of analysis and EPSS exploitation probability is low at 0.19%.

Technical ContextAI

The flaw lives in the DMA buffer sharing framework (dma-buf), the kernel's mechanism for sharing buffers across drivers and subsystems (notably GPU/DRM, V4L2/media, and other zero-copy paths) exposed to userspace as file descriptors. The regression was introduced by commit 34dfce523c90 which converted dma_buf_fd() to the FD_ADD() helper; FD_ADD() atomically publishes the fd into the descriptor table but provides no safe hook point between reservation and installation to emit the tracepoint. The root cause is a classic use-after-free (CWE-416) driven by a time-of-use race: once the fd is live, a concurrent close() drops the last reference, __fput() frees the dma_buf, and the still-running tracepoint reads freed slab memory. The fix splits FD_ADD() back into get_unused_fd_flags() + fd_install() and emits the tracepoint while the fdtable slot is reserved with a NULL file pointer, so a racing close() returns -EBADF without entering __fput(), mirroring the earlier fix in commit 2d76319c4cbb for the dma_buf_put() tracepoint.

RemediationAI

Vendor-released patch: update to Linux stable 7.0.12 or 7.1 (or your distribution's backported equivalent) containing the split of FD_ADD() into get_unused_fd_flags() + fd_install(). Apply the stable commits b569f86e2f8dbf6f11d31d3de794d22e18098b23 / ead6680f354f83966c796fc7f9463a3171789616 documented at git.kernel.org if you maintain your own tree. As an interim compensating control, ensure the dma-buf tracepoint is not enabled: keep DMA_BUF_TRACE / the dma_buf tracepoints disabled in the ftrace tracing subsystem (they are off by default) and restrict access to /sys/kernel/debug/tracing and CAP_SYS_ADMIN-gated tracing controls, since the UAF is only reachable when the tracepoint fires - the trade-off is loss of dma-buf tracing observability for debugging. There is no unauthenticated remote exposure, so tightening local access to buffer-sharing consumers (GPU/media device nodes) further reduces the already-limited attack surface until the kernel is updated.

Vendor StatusVendor

SUSE

Severity: Important
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

Share

CVE-2026-63910 vulnerability details – vuln.today

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