Skip to content
Fencer Vulns
high 7.8

CVE-2025-38731 json

drm/xe: Fix vm_bind_ioctl double free bug

published 2025-09-05 14 mo ago modified 2026-10-19 20 d ago also EUVD-2025-31558

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 5%
public exploits
0
none known

Summary

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

drm/xe: Fix vm_bind_ioctl double free bug

If the argument check during an array bind fails, the bind_ops are freed twice as seen below. Fix this by setting bind_ops to NULL after freeing.

================================================================== BUG: KASAN: double-free in xe_vm_bind_ioctl+0x1b2/0x21f0 [xe] Free of addr ffff88813bb9b800 by task xe_vm/14198

CPU: 5 UID: 0 PID: 14198 Comm: xe_vm Not tainted 6.16.0-xe-eudebug-cmanszew+ #520 PREEMPT(full) Hardware name: Intel Corporation Alder Lake Client Platform/AlderLake-P DDR5 RVP, BIOS ADLPFWI1.R00.2411.A02.2110081023 10/08/2021 Call Trace: <TASK> dump_stack_lvl+0x82/0xd0 print_report+0xcb/0x610 ? __virt_addr_valid+0x19a/0x300 ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe] kasan_report_invalid_free+0xc8/0xf0 ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe] ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe] check_slab_allocation+0x102/0x130 kfree+0x10d/0x440 ? should_fail_ex+0x57/0x2f0 ? xe_vm_bind_ioctl+0x1b2/0x21f0 [xe] xe_vm_bind_ioctl+0x1b2/0x21f0 [xe] ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe] ? __lock_acquire+0xab9/0x27f0 ? lock_acquire+0x165/0x300 ? drm_dev_enter+0x53/0xe0 [drm] ? find_held_lock+0x2b/0x80 ? drm_dev_exit+0x30/0x50 [drm] ? drm_ioctl_kernel+0x128/0x1c0 [drm] drm_ioctl_kernel+0x128/0x1c0 [drm] ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe] ? find_held_lock+0x2b/0x80 ? __pfx_drm_ioctl_kernel+0x10/0x10 [drm] ? should_fail_ex+0x57/0x2f0 ? __pfx_xe_vm_bind_ioctl+0x10/0x10 [xe] drm_ioctl+0x352/0x620 [drm] ? __pfx_drm_ioctl+0x10/0x10 [drm] ? __pfx_rpm_resume+0x10/0x10 ? do_raw_spin_lock+0x11a/0x1b0 ? find_held_lock+0x2b/0x80 ? __pm_runtime_resume+0x61/0xc0 ? rcu_is_watching+0x20/0x50 ? trace_irq_enable.constprop.0+0xac/0xe0 xe_drm_ioctl+0x91/0xc0 [xe] __x64_sys_ioctl+0xb2/0x100 ? rcu_is_watching+0x20/0x50 do_syscall_64+0x68/0x2e0 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0033:0x7fa9acb24ded

(cherry picked from commit a01b704527c28a2fd43a17a85f8996b75ec8492a)

Patch / fix

  • Linux Linux 6.16.4, 6.17
  • linux Debian 14 6.16.5-1

debian advisories DEBIAN-CVE-2025-38731

  • kernel RHEL 10.1 6.12.0-124.31.1.el10_1
  • rv RHEL 10.1 6.12.0-124.31.1.el10_1
  • perf RHEL 10.1 6.12.0-124.31.1.el10_1
  • rtla RHEL 10.1 6.12.0-124.31.1.el10_1
  • libperf RHEL 10.1 6.12.0-124.31.1.el10_1
  • kernel-rt RHEL 10.1 6.12.0-124.31.1.el10_1
  • kernel-64k RHEL 10.1 6.12.0-124.31.1.el10_1
  • kernel-core RHEL 10.1 6.12.0-124.31.1.el10_1

red hat advisories RHSA-2026:1690RHSA-2026:1143

  • kernel-abi-stablelists AlmaLinux 10 6.12.0-124.31.1.el10_1
  • kernel AlmaLinux 9 5.14.0-611.26.1.el9_7
  • rv AlmaLinux 9 5.14.0-611.26.1.el9_7
  • perf AlmaLinux 9 5.14.0-611.26.1.el9_7
  • rtla AlmaLinux 9 5.14.0-611.26.1.el9_7
  • libperf AlmaLinux 9 5.14.0-611.26.1.el9_7
  • kernel-rt AlmaLinux 9 5.14.0-611.26.1.el9_7
  • kernel-64k AlmaLinux 9 5.14.0-611.26.1.el9_7

almalinux advisories ALSA-2026:1690ALSA-2026:1143

  • kernel Rocky Linux 10 6.12.0-124.31.1.el10_1
  • kernel Rocky Linux 9 5.14.0-611.26.1.el9_7

rocky linux advisories RLSA-2026:1690RLSA-2026:1143

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-2025-38731 updated cvss 7.0

kernel: drm/xe: Fix vm_bind_ioctl double free bug

  • Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-611.26.1.el9_7, perf 5.14.0-611.26.1.el9_7, rtla 5.14.0-611.26.1.el9_7, python3-perf 5.14.0-611.26.1.el9_7, kernel-devel-matched 5.14.0-611.26.1.el9_7, kernel-64k-devel-matched 5.14.0-611.26.1.el9_7, +7 more
    fixed: vendor fix RHSA-2026:1143
  • Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-124.31.1.el10_1, perf 6.12.0-124.31.1.el10_1, rtla 6.12.0-124.31.1.el10_1, python3-perf 6.12.0-124.31.1.el10_1, kernel-devel-matched 6.12.0-124.31.1.el10_1, kernel-64k-devel-matched 6.12.0-124.31.1.el10_1, +7 more
    fixed: vendor fix RHSA-2026:1690
  • Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-611.26.1.el9_7, kernel-64k 5.14.0-611.26.1.el9_7, kernel-core 5.14.0-611.26.1.el9_7, kernel-tools 5.14.0-611.26.1.el9_7, kernel-modules 5.14.0-611.26.1.el9_7, kernel-64k-core 5.14.0-611.26.1.el9_7, +27 more
    fixed: vendor fix RHSA-2026:1143
  • Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-124.31.1.el10_1, kernel-64k 6.12.0-124.31.1.el10_1, kernel-core 6.12.0-124.31.1.el10_1, kernel-tools 6.12.0-124.31.1.el10_1, kernel-modules 6.12.0-124.31.1.el10_1, kernel-64k-core 6.12.0-124.31.1.el10_1, +28 more
    fixed: vendor fix RHSA-2026:1690
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-611.26.1.el9_7, kernel-debuginfo-common-s390x 5.14.0-611.26.1.el9_7, kernel-debuginfo-common-x86_64 5.14.0-611.26.1.el9_7, kernel-debuginfo-common-aarch64 5.14.0-611.26.1.el9_7, kernel-debuginfo-common-ppc64le 5.14.0-611.26.1.el9_7
    fixed: vendor fix RHSA-2026:1143
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-124.31.1.el10_1, kernel-debuginfo-common-s390x 6.12.0-124.31.1.el10_1, kernel-debuginfo-common-x86_64 6.12.0-124.31.1.el10_1, kernel-debuginfo-common-aarch64 6.12.0-124.31.1.el10_1, kernel-debuginfo-common-ppc64le 6.12.0-124.31.1.el10_1
    fixed: vendor fix RHSA-2026:1690
  • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-611.26.1.el9_7, kernel-rt-64k 5.14.0-611.26.1.el9_7, kernel-rt-core 5.14.0-611.26.1.el9_7, kernel-rt-modules 5.14.0-611.26.1.el9_7, kernel-rt-64k-core 5.14.0-611.26.1.el9_7, kernel-rt-debug-core 5.14.0-611.26.1.el9_7, +14 more
    fixed: vendor fix RHSA-2026:1143
  • Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-124.31.1.el10_1, kernel-rt-64k 6.12.0-124.31.1.el10_1, kernel-rt-core 6.12.0-124.31.1.el10_1, kernel-rt-modules 6.12.0-124.31.1.el10_1, kernel-rt-64k-core 6.12.0-124.31.1.el10_1, kernel-rt-debug-core 6.12.0-124.31.1.el10_1, +14 more
    fixed: vendor fix RHSA-2026:1690
show 3 more
  • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-611.26.1.el9_7, kernel-rt-core 5.14.0-611.26.1.el9_7, kernel-rt-modules 5.14.0-611.26.1.el9_7, kernel-rt-debug-core 5.14.0-611.26.1.el9_7, kernel-rt-modules-core 5.14.0-611.26.1.el9_7, kernel-rt-debug-modules 5.14.0-611.26.1.el9_7, +4 more
    fixed: vendor fix RHSA-2026:1143
  • Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-124.31.1.el10_1, kernel-rt-core 6.12.0-124.31.1.el10_1, kernel-rt-modules 6.12.0-124.31.1.el10_1, kernel-rt-debug-core 6.12.0-124.31.1.el10_1, kernel-rt-modules-core 6.12.0-124.31.1.el10_1, kernel-rt-debug-modules 6.12.0-124.31.1.el10_1, +4 more
    fixed: vendor fix RHSA-2026:1690
  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more 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
    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
4 mo ago

Exploit prediction

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

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
NVD 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 Vulns 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.