Description
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.
Published: 2026-07-19
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw is a use‑after‑free caused by a race condition between FD_ADD() and close() in the dma_buf_fd tracepoint. When a file descriptor becomes live, a concurrent close can free the underlying dmabuf before the tracepoint runs, leading to a dereference of a freed object and potential kernel memory corruption. This slab‑use‑after‑free can overwrite critical kernel data structures, possibly enabling an attacker to execute arbitrary code with elevated privileges or crash the system.

Affected Systems

All Linux kernel releases that have not applied the patches in commits b569f86e2f8dbf6f11d31d3de794d22e18098b23 and ead6680f354f83966c796fc7f9463a3171789616 are affected. In practice this includes any kernel version prior to the application of these commits, regardless of distribution vendor.

Risk and Exploitability

The CVSS score of 7.8 classifies this as high severity. The EPSS score of less than 1% indicates a low probability of automated exploitation at the time of analysis, and it is not listed in CISA’s KEV catalog. Based on the description, it is inferred that the attacker must be local and able to orchestrate a race between FD_ADD and close on a shared file descriptor table. While exploitation is challenging, skilled attackers could potentially trigger the race to achieve denial of service or privilege escalation.

Generated by OpenCVE AI on August 4, 2026 at 06:46 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Install the kernel update that contains the patches referenced by the advisory commits, then reboot to load the new kernel.
  • Schedule deployment of the updated kernel across all affected hosts, prioritizing systems that use dma_buf functionality and run privileged services.
  • Coordinate with operations to ensure the new kernel version is active on all targeted hosts before removing unpatched nodes.

Generated by OpenCVE AI on August 4, 2026 at 06:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8593-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8603-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Sat, 25 Jul 2026 01:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 22 Jul 2026 19:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 22 Jul 2026 00:15:00 +0000

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

None

threat_severity

Moderate


Mon, 20 Jul 2026 14:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sun, 19 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Description 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.
Title dma-buf: fix UAF in dma_buf_fd() tracepoint
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-08-05T12:37:04.026Z

Reserved: 2026-07-19T07:54:57.020Z

Link: CVE-2026-63910

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Moderate

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

Links: CVE-2026-63910 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T07:00:05Z

Weaknesses
  • CWE-367

    Time-of-check Time-of-use (TOCTOU) Race Condition