Skip to main content

Linux Kernel EUVDEUVD-2026-55367

| CVE-2026-68266 HIGH
2026-08-10 Linux GHSA-9jm7-867x-hm4j
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

Race condition between TTM asynchronous workqueue and exporter deallocation warrants AC:H; local low-privilege access suffices to trigger dma-buf import error paths.

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
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
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

5
Analysis Generated
Aug 14, 2026 - 03:22 vuln.today
CVSS changed
Aug 13, 2026 - 23:37 NVD
7.8 (HIGH)
Patch available
Aug 10, 2026 - 14:18 EUVD
CVE Published
Aug 10, 2026 - 12:01 cve.org
HIGH 7.8
CVE Published
Aug 10, 2026 - 12:01 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

drm/xe: Hold a dma-buf reference for imported BOs

An imported dma-buf BO is created as a ttm_bo_type_sg BO whose reservation object is the exporter's dma_buf->resv. The importer, however, only takes a dma-buf reference after a successful dma_buf_dynamic_attach(). Until then nothing keeps the exporter alive, so if the exporter is freed while the BO still references its resv, a later access to that resv is a use-after-free:

Oops: general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b6b9c Workqueue: ttm ttm_bo_delayed_delete [ttm] RIP: 0010:mutex_can_spin_on_owner+0x3f/0xc0

This can be reached on two paths:

  • dma_buf_dynamic_attach() fails, or
  • ttm_bo_init_reserved() fails during BO creation.

In both cases the BO already has bo->base.resv pointing at the exporter resv, and sg BOs are always torn down via ttm_bo_delayed_delete(), which locks bo->base.resv asynchronously - potentially after the exporter has been freed.

Take the dma-buf reference in xe_bo_init_locked(), before ttm_bo_init_reserved(), so it also covers a creation failure there, and release it in xe_ttm_bo_destroy(). The reference is held for the whole BO lifetime, keeping the shared resv alive on every path.

v2:

  • Reworked the fix to avoid creating the imported sg BO before

dma_buf_dynamic_attach() succeeds.

  • Attach with importer_priv == NULL and make invalidate_mappings ignore

incomplete imports.

v3:

  • Dropped the xe-side reordering approach since importer_priv must be

valid when dma_buf_dynamic_attach() publishes the attachment.

  • Per Christian's suggestion on the v1 thread, keyed the check on

import_attach rather than removing the sg guard entirely.

  • Fixes both xe and amdgpu in a single TTM patch.

v4:

  • Moved import_attach check to after dma_resv_copy_fences() so fences

are copied before returning for successful imports (Thomas).

  • Removed exporter-alive claim from commit message (Thomas).

v5:

  • Add drm/xe patch to keep imported sg BOs off the LRU before attach

succeeds; the TTM fix alone is not sufficient for xe if the BO is already LRU-visible. (Thomas) v4 patch: https://patchwork.freedesktop.org/patch/736663/?series=169129&rev=2

  • Patch 1 (drm/ttm) carries Christian's Reviewed-by from v4.

v6:

  • Reworked the fix based on Thomas' suggestion. Instead of the TTM resv

individualization (v1-v5) plus the xe off-LRU/placement handling (v5), just hold a dma-buf reference for the imported BO lifetime so the shared resv can never be freed while the BO still references it. Single xe patch, no TTM change. (Thomas)

  • Take the reference in xe_bo_init_locked() before ttm_bo_init_reserved()

so a TTM creation failure is covered too (Thomas).

  • Dropped the v5 series (drm/ttm + drm/xe off-LRU); the off-LRU approach

also regressed in CI BAT via ttm_bo_pipeline_gutting() creating a ghost BO that outlived the exporter. Link to v5: https://patchwork.freedesktop.org/series/169984/

v7:

  • Move changelog above --- so it stays in the commit message.
  • Reorder changelog entries oldest-to-newest. (Thomas)

(cherry picked from commit 3516f3fae6be35642f8f06f8a218da6425c0306a)

AnalysisAI

Use-after-free in the Linux kernel's drm/xe Intel Xe GPU driver allows a local low-privileged user to trigger kernel memory corruption with potential for full system compromise (C:H/I:H/A:H). The bug arises because an imported dma-buf buffer object (BO) is created with its reservation object (resv) pointing to the exporter's dma_buf->resv before the importer acquires a reference on that dma-buf - leaving a window in which the exporter can be freed while the TTM workqueue asynchronously accesses the now-dangling pointer. Vendor-released patches are available for Linux 6.12.103, 6.18.42, and 7.1.6; no public exploit has been identified at time of analysis.

Technical ContextAI

The Direct Rendering Manager drm/xe subsystem is the mainline Linux kernel driver for Intel Xe-architecture GPUs. Buffer objects (BOs) of type ttm_bo_type_sg (scatter-gather) are used to represent memory imported via the dma-buf sharing framework, which allows GPU and other DMA-capable devices to share buffers across driver boundaries. Each BO carries a reservation object (dma_resv) used for cross-driver fence synchronization; for imported sg BOs, this resv pointer is aliased to the exporter's dma_buf->resv rather than being privately allocated. The vulnerability (effectively CWE-416 Use-After-Free, though CWE is listed as N/A in the source data) manifests because the importer only calls dma_buf_get() after dma_buf_dynamic_attach() succeeds. If attachment fails, or if the subsequent ttm_bo_init_reserved() call fails, the partially-constructed sg BO is torn down via ttm_bo_delayed_delete(), which runs asynchronously in the TTM kernel workqueue. At that point the exporter - no longer reference-counted by the importer - may already have been freed, making the bo->base.resv dereference a classic use-after-free, confirmed by the crash trace showing a general protection fault on a non-canonical 0x6b6b6b6b... poison address. The fix, applied in xe_bo_init_locked() and xe_ttm_bo_destroy(), holds the dma-buf reference for the full BO lifetime, ensuring the shared resv remains valid on all teardown paths. Affected CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

Upgrade to a patched kernel version: Linux 6.12.103 or later for the 6.12.x stable series, Linux 6.18.42 or later for the 6.18.x series, or Linux 7.1.6 or later for the 7.1.x series. Patch commits are available at https://git.kernel.org/stable/c/c22d65d62b3318e237c0e5b1177d90ab83d9fe06, https://git.kernel.org/stable/c/c1954c66662de477a8f4309335b775f7b07bd28b, https://git.kernel.org/stable/c/ba8c4cbb31c6f81fa5b12d6e28f1f706040aff48, and https://git.kernel.org/stable/c/62775525a27c3b0d56382e08ba81ee2d322058b6. If an immediate kernel update is not feasible, the most effective compensating control is to unload and blacklist the drm/xe module: run 'modprobe -r xe' and add 'blacklist xe' to /etc/modprobe.d/xe-blacklist.conf, then run 'update-initramfs -u' (Debian/Ubuntu) or 'dracut -f' (RHEL/Fedora) to persist the blacklist across reboots. Trade-off: this disables all Intel Xe GPU functionality, including display output on systems that depend on the Xe driver for graphics. An alternative is to restrict local access controls so that untrusted users cannot open DRM device nodes (typically /dev/dri/renderD*), reducing exposure without disabling the GPU entirely, at the cost of breaking GPU compute workloads for those users.

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2014-6271 CRITICAL POC
9.8 Sep 24

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2016-3714 HIGH POC
8.4 May 05

The (1) EPHEMERAL, (2) HTTPS, (3) MVG, (4) MSL, (5) TEXT, (6) SHOW, (7) WIN, and (8) PLT coders in ImageMagick before 6.

CVE-2017-12617 HIGH POC
8.1 Oct 04

When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT

CVE-2016-8735 CRITICAL POC
9.8 Apr 06

Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8

CVE-2014-7169 CRITICAL POC
9.8 Sep 25

GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of

CVE-2014-0160 HIGH POC
7.5 Apr 07

The (1) TLS and (2) DTLS implementations in OpenSSL 1.0.1 before 1.0.1g do not properly handle Heartbeat Extension packe

CVE-2016-5195 HIGH POC
7.0 Nov 10

Race condition in mm/gup.c in the Linux kernel 2.x through 4.x before 4.8.3 allows local users to gain privileges by lev

CVE-2013-2423 LOW POC
3.7 Apr 17

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 17 and earlier, and

CVE-2023-4911 HIGH POC
7.8 Oct 03

Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected

Vendor StatusVendor

SUSE

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

EUVD-2026-55367 vulnerability details – vuln.today

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