CVE Catalog

CVE-2026-99095

Low risk· EPSS 6%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.16%

6th percentile - higher than 6% of all known CVEs

Summary

In the Linux kernel, drm/vc4 does not stop the hangcheck timer or job_done_work at V3D unbind, leading to V3D register access through a NULL vc4->v3d pointer and callbacks after memory is freed. The fix drains the timer and cancels reset_work in vc4_v3d_unbind() and flushes job_done_work.

Risk Assessment

A use-after-free and NULL pointer access may occur, potentially leading to kernel crash or possible code execution.

Recommendation

Update the Linux kernel to a version containing the fix that drains the hangcheck timer and works in vc4_v3d_unbind().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: drm/vc4: drain the hangcheck timer and works on V3D unbind Nothing stops the hangcheck timer that submitted jobs arm, or the job_done_work that the render-done interrupt queues, at teardown: vc4_irq_disable() cancels only overflow_mem_work, and vc4_gem_destroy() runs from the drm-managed release, after vc4_v3d_unbind() has already uninstalled the V3D interrupt and cleared vc4->v3d. A timer still armed by then reads V3D registers through the NULL vc4->v3d pointer, and the late callbacks run on the vc4_dev embedding them after it has been freed. Drain them in vc4_v3d_unbind(): shut the timer down and cancel reset_work before the interrupt is taken down, because its vc4_irq_reset() re-enables it, then flush job_done_work so that completions queued at teardown still release their jobs. This issue was found by an in-house static analysis tool.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS