Linux Kernel DRM VC4 Driver Hangcheck Timer Exploit
CVE-2026-99095 Published on October 26, 2026
drm/vc4: drain the hangcheck timer and works on V3D unbind
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.
Products Associated with CVE-2026-99095
Want to know whenever a new CVE is published for Linux Kernel? stack.watch will email you.
Affected Versions
Linux:- Version d5b1a78a772f1e31a94f8babfa964152ec5e9aa5 and below 17c5fa371de2d5508755cd4cd227cc8e2bb99240 is affected.
- Version d5b1a78a772f1e31a94f8babfa964152ec5e9aa5 and below a046cd60ff3f4a8c8e672b3b18902682c1f91731 is affected.
- Version d5b1a78a772f1e31a94f8babfa964152ec5e9aa5 and below e61465d3e0292daebf4dbb34e0add635e2439569 is affected.
- Version d5b1a78a772f1e31a94f8babfa964152ec5e9aa5 and below ade226dfd28cf2fd1dce143c556d1ee77d953696 is affected.
- Version d5b1a78a772f1e31a94f8babfa964152ec5e9aa5 and below 94cf5971b1d04c6382437387c4dc3836cc7a1437 is affected.
- Version 4.5 is affected.
- Before 4.5 is unaffected.
- Version 6.6.160, <= 6.6.* is unaffected.
- Version 6.12.113, <= 6.12.* is unaffected.
- Version 6.18.57, <= 6.18.* is unaffected.
- Version 7.2.11, <= 7.2.* is unaffected.
- Version 7.3, <= * is unaffected.