Skip to content
Fencer Vulns
high 7.8

CVE-2026-64099 json

drm/v3d: Fix use-after-free of CPU job query arrays on error path

published 2026-07-19 3 mo ago modified 2026-08-11 2 mo ago also EUVD-2026-45784

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

Summary

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

drm/v3d: Fix use-after-free of CPU job query arrays on error path

The CPU job ioctl's fail label calls kvfree() on cpu_job's timestamp and performance query arrays after v3d_job_cleanup(), which drops the job's last reference and frees cpu_job. Reading cpu_job at that point is a use-after-free. Also, on the early v3d_job_init() failure path, it is a NULL dereference, since v3d_job_deallocate() zeroes the local pointer.

In the success path, the arrays are released from the scheduler's .free_job callback, but on the error path, they are freed manually, as the job was never pushed to the scheduler. While the success path deals with this correctly, the fail path doesn't.

On top of that, the manual kvfree() calls only free the array storage; they don't drm_syncobj_put() the per-query syncobjs that v3d_timestamp_query_info_free() and v3d_performance_query_info_free() release on the success path. So the same fail path that triggers the use-after-free also leaks one syncobj reference per query.

Unify the CPU job teardown into the CPU job's kref destructor, mirroring v3d_render_job_free(). The scheduler's .free_job slot reverts to the generic v3d_sched_job_free() and the fail label drops the manual kvfree() calls, leaving a single teardown path that is reached from both the scheduler and the ioctl error path. That removes the use-after-free, the NULL dereference, and the syncobj leak by construction.

Patch / fix

  • Linux Linux 6.12.93, 6.18.34, 7.0.11, 7.1
  • linux Debian 13 6.12.94-1
  • linux Debian 14 7.0.12-1

debian advisories DEBIAN-CVE-2026-64099

  • 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-64099

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-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1
  • kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.81.1
  • kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.81.1
  • kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1
  • kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.81.1
  • kernel-zfcpdump SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1
  • kernel-obs-build SLE Module for Development Tools 15 SP7 6.4.0-150700.53.81.1
  • kernel-default-base SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1.150700.17.45.1

suse advisories SUSE-SU-2026:4254-1SUSE-SU-2026:23887-1SUSE-SU-2026:23902-1SUSE-SU-2026:23897-1SUSE-SU-2026:23881-1SUSE-SU-2026:4120-1

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

opensuse advisories openSUSE-SU-2026:21910-1

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-64099 updated cvss 7.8

kernel: drm/v3d: Fix use-after-free of CPU job query arrays on error path

  • 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 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernel
    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

Exploit prediction

0.13% chance of exploitation in the next 30 days, higher than 2% 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

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.