Skip to content
Fencer Intel
high 7.8

CVE-2026-63884 json

drm/i915: Fix potential UAF in TTM object purge

published 3mo ago modified 16d ago also EUVD-2026-45769

cvss
7.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 7%
public exploits
0
none known

Summary

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

drm/i915: Fix potential UAF in TTM object purge

TLDR: The bo->ttm object might be changed by calling ttm_bo_validate(), move casting it to an i915_tt object later to actually get the right pointer.

A user reported hitting the following bug under heavy use on DG2:

[26620.095550] Oops: general protection fault, probably for non-canonical address 0xa56b6b6b6b6b6b8b: 0000 1 SMP NOPTI [26620.095556] CPU: 2 UID: 0 PID: 631 Comm: Xorg Not tainted 6.18.8 #1 PREEMPT(lazy) [26620.095558] Hardware name: ASRock B850M Steel Legend WiFi/B850M Steel Legend WiFi, BIOS 3.50 09/18/2025 [26620.095559] RIP: 0010:i915_ttm_purge+0x84/0x100 [i915] [26620.095604] Code: 00 00 00 48 8d 54 24 10 48 89 e6 48 89 fb e8 83 aa ae ff 85 c0 75 6f 48 83 bb a8 01 00 00 00 74 2c 48 8b 45 78 48 85 c0 74 23 <48> 8b 78 20 48 c7 c2 ff ff ff ff 31 f6 e8 7a 73 e3 e0 48 8b 7d 78 [26620.095605] RSP: 0018:ffffc90005fd7430 EFLAGS: 00010282 [26620.095607] RAX: a56b6b6b6b6b6b6b RBX: ffff8881f46c3dc0 RCX: 0000000000000000 [26620.095608] RDX: 0000000000000000 RSI: 0000000000000246 RDI: 00000000ffffffff [26620.095609] RBP: ffff888289610f00 R08: 0000000000000001 R09: ffff88823b022000 [26620.095609] R10: ffff888103029b28 R11: ffff8881fc7f3800 R12: ffff88810b6150d0 [26620.095609] R13: ffff888289610f00 R14: 0000000000000000 R15: ffff8881f46c3dc0 [26620.095610] FS: 00007f1004d86900(0000) GS:ffff88901c858000(0000) knlGS:0000000000000000 [26620.095611] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [26620.095611] CR2: 00007f0fdf489000 CR3: 000000035b0c1000 CR4: 0000000000750ef0 [26620.095612] PKRU: 55555554 [26620.095612] Call Trace: [26620.095615] <TASK> [26620.095615] i915_ttm_move+0x2b9/0x420 [i915] [26620.095642] ? ttm_tt_init+0x65/0x80 [ttm] [26620.095644] ? i915_ttm_tt_create+0xc6/0x150 [i915] [26620.095667] ttm_bo_handle_move_mem+0xb6/0x160 [ttm] [26620.095669] ttm_bo_evict+0x100/0x150 [ttm] [26620.095671] ? preempt_count_add+0x64/0xa0 [26620.095673] ? _raw_spin_lock+0xe/0x30 [26620.095675] ? _raw_spin_unlock+0xd/0x30 [26620.095675] ? i915_gem_object_evictable+0xb7/0xd0 [i915] [26620.095704] ttm_bo_evict_cb+0x6e/0xd0 [ttm] [26620.095705] ttm_lru_walk_for_evict+0xa6/0x200 [ttm] [26620.095708] ttm_bo_alloc_resource+0x185/0x4f0 [ttm] [26620.095709] ? init_object+0x62/0xd0 [26620.095712] ttm_bo_validate+0x7a/0x180 [ttm] [26620.095713] ? _raw_spin_unlock_irqrestore+0x16/0x30 [26620.095714] __i915_ttm_get_pages+0xb0/0x170 [i915] [26620.095737] i915_ttm_get_pages+0x9f/0x150 [i915] [26620.095759] ? i915_gem_do_execbuffer+0xedc/0x2b40 [i915] [26620.095786] ? alloc_debug_processing+0xd0/0x100 [26620.095787] ? _raw_spin_unlock_irqrestore+0x16/0x30 [26620.095788] ? i915_vma_instance+0xa0/0x4e0 [i915] [26620.095822] __i915_gem_object_get_pages+0x2f/0x40 [i915] [26620.095848] i915_vma_pin_ww+0x706/0x980 [i915] [26620.095875] ? i915_gem_do_execbuffer+0xedc/0x2b40 [i915] [26620.095904] eb_validate_vmas+0x170/0xa00 [i915] [26620.095930] i915_gem_do_execbuffer+0x1201/0x2b40 [i915] [26620.095953] ? alloc_debug_processing+0xd0/0x100 [26620.095954] ? _raw_spin_unlock_irqrestore+0x16/0x30 [26620.095955] ? i915_gem_execbuffer2_ioctl+0xc9/0x240 [i915] [26620.095977] ? __wake_up_sync_key+0x32/0x50 [26620.095979] ? i915_gem_execbuffer2_ioctl+0xc9/0x240 [i915] [26620.096001] ? __slab_alloc.isra.0+0x67/0xc0 [26620.096003] i915_gem_execbuffer2_ioctl+0x11a/0x240 [i915]

Results from decode_stacktrace.sh pointed to dereference of a file pointer field of a i915 TTM page vector container associated with an object being purged on eviction. That path is taken when the object is marked as no longer needed.

Code analysis revealed a possibility of the i915 TTM page vector container being replaced with a new instance inside a function that purges content of the object, should it be still busy. That function is called, indirectly via a more general function that changes the object's placement and caching policy, ---truncated---

Patch / fix

  • Linux Linux 6.1.176, 6.6.143, 6.12.93, 6.18.35, 7.0.12, 7.1
  • linux Debian 12 6.1.176-1
  • linux Debian 13 6.12.94-1
  • linux Debian 14 7.0.12-1

debian advisories DEBIAN-CVE-2026-63884

  • linux Ubuntu 24.04 LTS 6.8.0-146.146
  • linux Ubuntu 26.04 LTS 7.0.0-28.28
  • linux-aws Ubuntu 24.04 LTS 6.8.0-1066.69
  • linux-aws Ubuntu 26.04 LTS 7.0.0-1009.9
  • linux-gcp Ubuntu 24.04 LTS 6.8.0-1070.78
  • linux-gcp Ubuntu 26.04 LTS 7.0.0-1008.8
  • linux-gke Ubuntu 24.04 LTS 6.8.0-1065.73
  • linux-gke Ubuntu 26.04 LTS 7.0.0-1003.4

ubuntu advisories UBUNTU-CVE-2026-63884

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • kernel RHEL 9 5.14.0-687.41.1.el9_8
  • rv RHEL 9 5.14.0-687.41.1.el9_8
  • perf RHEL 9 5.14.0-687.41.1.el9_8
  • rtla RHEL 9 5.14.0-687.41.1.el9_8
  • libperf RHEL 9 5.14.0-687.41.1.el9_8
  • kernel-rt RHEL 9 5.14.0-687.41.1.el9_8
  • kernel-64k RHEL 9 5.14.0-687.41.1.el9_8
  • kernel-core RHEL 9 5.14.0-687.41.1.el9_8

red hat advisories RHSA-2026:57252RHSA-2026:57251RHSA-2026:55764RHSA-2026:55765

  • kernel-default SLES for SAP 15 SP6, SLES 15 SP6-LTSS, SLE Live Patching 15 SP6 +1 more 6.4.0-150600.23.130.1
  • kernel-64kb SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS, SLE High Performance Computing 15 SP5-ESPOS 5.14.21-150500.55.182.1
  • kernel-syms SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS +1 more 5.14.21-150500.55.182.1
  • kernel-source SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +2 more 5.14.21-150500.55.182.1
  • kernel-default SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +3 more 5.14.21-150500.55.182.1
  • kernel-obs-build SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS +1 more 5.14.21-150500.55.182.1
  • kernel-default-base SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +2 more 5.14.21-150500.55.182.1.150500.6.85.2
  • kernel-rt Real Time Module 15 SP7 6.4.0-150700.7.72.1

suse advisories SUSE-SU-2026:3602-1SUSE-SU-2026:3595-1SUSE-SU-2026:3810-1SUSE-SU-2026:3790-1SUSE-SU-2026:23244-1SUSE-SU-2026:23241-1

  • kernel-rt openSUSE Leap 16.0 6.12.0-160000.37.1
  • dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-64kb openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-syms openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-azure openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-source openSUSE Leap 16.0 6.12.0-160000.37.1
  • kernel-default openSUSE Leap 16.0 6.12.0-160000.37.1

opensuse advisories openSUSE-SU-2026:21555-1

  • kernel AlmaLinux 10 6.12.0-211.49.1.el10_2
  • rv AlmaLinux 10 6.12.0-211.49.1.el10_2
  • perf AlmaLinux 10 6.12.0-211.49.1.el10_2
  • rtla AlmaLinux 10 6.12.0-211.49.1.el10_2
  • libperf AlmaLinux 10 6.12.0-211.49.1.el10_2
  • kernel-rt AlmaLinux 10 6.12.0-211.49.1.el10_2
  • kernel-64k AlmaLinux 10 6.12.0-211.49.1.el10_2
  • kernel-core AlmaLinux 10 6.12.0-211.49.1.el10_2

almalinux advisories ALSA-2026:57251ALSA-2026:57252ALSA-2026:55764ALSA-2026:55765

  • kernel Rocky Linux 10 6.12.0-211.49.1.el10_2
  • kernel Rocky Linux 9 5.14.0-687.41.1.el9_8
  • kernel-rt Rocky Linux 8 4.18.0-553.156.1.rt7.497.el8_10
  • kernel Rocky Linux 8 4.18.0-553.156.1.el8_10

rocky linux advisories RLSA-2026:57251RLSA-2026:57252RLSA-2026:55765RLSA-2026:55764

Is CVE-2026-63884 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-63884 updated cvss 7.0

kernel: drm/i915: Fix potential UAF in TTM object purge

  • Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 more
    affected: no fix available
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more
    under investigation
  • Red Hat CodeReady Linux Builder EUS (v.9.6) libperf 5.14.0-570.155.1.el9_6, kernel-debuginfo-common-s390x 5.14.0-570.155.1.el9_6, kernel-debuginfo-common-x86_64 5.14.0-570.155.1.el9_6, kernel-debuginfo-common-aarch64 5.14.0-570.155.1.el9_6, kernel-debuginfo-common-ppc64le 5.14.0-570.155.1.el9_6
    fixed: vendor fix RHSA-2026:98239
  • Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-687.41.1.el9_8, perf 5.14.0-687.41.1.el9_8, rtla 5.14.0-687.41.1.el9_8, python3-perf 5.14.0-687.41.1.el9_8, kernel-devel-matched 5.14.0-687.41.1.el9_8, kernel-64k-devel-matched 5.14.0-687.41.1.el9_8, +7 more
    fixed: vendor fix RHSA-2026:57252
  • Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-211.49.1.el10_2, perf 6.12.0-211.49.1.el10_2, rtla 6.12.0-211.49.1.el10_2, python3-perf 6.12.0-211.49.1.el10_2, kernel-devel-matched 6.12.0-211.49.1.el10_2, kernel-64k-devel-matched 6.12.0-211.49.1.el10_2, +7 more
    fixed: vendor fix RHSA-2026:57251
  • Red Hat Enterprise Linux AppStream EUS (v.9.6) rv 5.14.0-570.155.1.el9_6, perf 5.14.0-570.155.1.el9_6, rtla 5.14.0-570.155.1.el9_6, python3-perf 5.14.0-570.155.1.el9_6, kernel-devel-matched 5.14.0-570.155.1.el9_6, kernel-64k-devel-matched 5.14.0-570.155.1.el9_6, +7 more
    fixed: vendor fix RHSA-2026:98239
  • Red Hat Enterprise Linux BaseOS (v. 8) perf 4.18.0-553.156.1.el8_10, kernel 4.18.0-553.156.1.el8_10, bpftool 4.18.0-553.156.1.el8_10, kernel-core 4.18.0-553.156.1.el8_10, kernel-tools 4.18.0-553.156.1.el8_10, python3-perf 4.18.0-553.156.1.el8_10, +15 more
    fixed: vendor fix RHSA-2026:55764
  • Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-687.41.1.el9_8, kernel-64k 5.14.0-687.41.1.el9_8, kernel-core 5.14.0-687.41.1.el9_8, kernel-tools 5.14.0-687.41.1.el9_8, kernel-modules 5.14.0-687.41.1.el9_8, kernel-64k-core 5.14.0-687.41.1.el9_8, +27 more
    fixed: vendor fix RHSA-2026:57252
show 14 more
  • Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-211.49.1.el10_2, kernel-64k 6.12.0-211.49.1.el10_2, kernel-core 6.12.0-211.49.1.el10_2, kernel-tools 6.12.0-211.49.1.el10_2, kernel-modules 6.12.0-211.49.1.el10_2, kernel-64k-core 6.12.0-211.49.1.el10_2, +28 more
    fixed: vendor fix RHSA-2026:57251
  • Red Hat Enterprise Linux BaseOS EUS (v.9.6) kernel 5.14.0-570.155.1.el9_6, kernel-64k 5.14.0-570.155.1.el9_6, kernel-core 5.14.0-570.155.1.el9_6, kernel-tools 5.14.0-570.155.1.el9_6, kernel-modules 5.14.0-570.155.1.el9_6, kernel-64k-core 5.14.0-570.155.1.el9_6, +27 more
    fixed: vendor fix RHSA-2026:98239
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-687.41.1.el9_8, kernel-debuginfo-common-s390x 5.14.0-687.41.1.el9_8, kernel-debuginfo-common-x86_64 5.14.0-687.41.1.el9_8, kernel-debuginfo-common-aarch64 5.14.0-687.41.1.el9_8, kernel-debuginfo-common-ppc64le 5.14.0-687.41.1.el9_8
    fixed: vendor fix RHSA-2026:57252
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-211.49.1.el10_2, kernel-debuginfo-common-s390x 6.12.0-211.49.1.el10_2, kernel-debuginfo-common-x86_64 6.12.0-211.49.1.el10_2, kernel-debuginfo-common-aarch64 6.12.0-211.49.1.el10_2, kernel-debuginfo-common-ppc64le 6.12.0-211.49.1.el10_2
    fixed: vendor fix RHSA-2026:57251
  • Red Hat Enterprise Linux CRB (v. 8) kernel-debuginfo-common-x86_64 4.18.0-553.156.1.el8_10, kernel-debuginfo-common-aarch64 4.18.0-553.156.1.el8_10, kernel-debuginfo-common-ppc64le 4.18.0-553.156.1.el8_10
    fixed: vendor fix RHSA-2026:55764
  • Red Hat Enterprise Linux NFV (v. 8) kernel-rt 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-kvm 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-core 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-modules 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-debug-kvm 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-debug-core 4.18.0-553.156.1.rt7.497.el8_10, +4 more
    fixed: vendor fix RHSA-2026:55765
  • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-687.41.1.el9_8, kernel-rt-64k 5.14.0-687.41.1.el9_8, kernel-rt-core 5.14.0-687.41.1.el9_8, kernel-rt-modules 5.14.0-687.41.1.el9_8, kernel-rt-64k-core 5.14.0-687.41.1.el9_8, kernel-rt-debug-core 5.14.0-687.41.1.el9_8, +14 more
    fixed: vendor fix RHSA-2026:57252
  • Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-211.49.1.el10_2, kernel-rt-64k 6.12.0-211.49.1.el10_2, kernel-rt-core 6.12.0-211.49.1.el10_2, kernel-rt-modules 6.12.0-211.49.1.el10_2, kernel-rt-64k-core 6.12.0-211.49.1.el10_2, kernel-rt-debug-core 6.12.0-211.49.1.el10_2, +14 more
    fixed: vendor fix RHSA-2026:57251
  • Red Hat Enterprise Linux Real Time EUS (v.9.6) kernel-rt 5.14.0-570.155.1.el9_6, kernel-rt-64k 5.14.0-570.155.1.el9_6, kernel-rt-core 5.14.0-570.155.1.el9_6, kernel-rt-modules 5.14.0-570.155.1.el9_6, kernel-rt-64k-core 5.14.0-570.155.1.el9_6, kernel-rt-debug-core 5.14.0-570.155.1.el9_6, +14 more
    fixed: vendor fix RHSA-2026:98239
  • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-687.41.1.el9_8, kernel-rt-core 5.14.0-687.41.1.el9_8, kernel-rt-modules 5.14.0-687.41.1.el9_8, kernel-rt-debug-core 5.14.0-687.41.1.el9_8, kernel-rt-modules-core 5.14.0-687.41.1.el9_8, kernel-rt-debug-modules 5.14.0-687.41.1.el9_8, +4 more
    fixed: vendor fix RHSA-2026:57252
  • Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-211.49.1.el10_2, kernel-rt-core 6.12.0-211.49.1.el10_2, kernel-rt-modules 6.12.0-211.49.1.el10_2, kernel-rt-debug-core 6.12.0-211.49.1.el10_2, kernel-rt-modules-core 6.12.0-211.49.1.el10_2, kernel-rt-debug-modules 6.12.0-211.49.1.el10_2, +4 more
    fixed: vendor fix RHSA-2026:57251
  • Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6) kernel-rt 5.14.0-570.155.1.el9_6, kernel-rt-kvm 5.14.0-570.155.1.el9_6, kernel-rt-core 5.14.0-570.155.1.el9_6, kernel-rt-modules 5.14.0-570.155.1.el9_6, kernel-rt-debug-kvm 5.14.0-570.155.1.el9_6, kernel-rt-debug-core 5.14.0-570.155.1.el9_6, +6 more
    fixed: vendor fix RHSA-2026:98239
  • Red Hat Enterprise Linux RT (v. 8) kernel-rt 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-core 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-modules 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-debug-core 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-debug-modules 4.18.0-553.156.1.rt7.497.el8_10, kernel-rt-modules-extra 4.18.0-553.156.1.rt7.497.el8_10, +2 more
    fixed: vendor fix RHSA-2026:55765
  • Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
total
Assessed
26d ago

Exploit prediction

0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-11).

CVSS scores

assigned by version score vector
CNA 3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected products

  • Linux Linux

Classification

Weakness
Technology feeds

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.