CVE-2026-98309

Summary

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

drm/vc4: Use managed KMS polling to fix UAF on unbind

vc4_kms_load() calls drm_kms_helper_poll_init() but the driver provides no matching drm_kms_helper_poll_fini(). The output poll work stays scheduled after unbind and runs on the freed drm_device:

modprobe vc4; rmmod vc4; sleep 10

BUG: KASAN: slab-use-after-free in delayed_work_timer_fn BUG: KASAN: slab-use-after-free in drm_client_dev_hotplug [drm] Workqueue: events output_poll_execute [drm_kms_helper] Allocated by task 171: __devm_drm_dev_alloc Freed by task 262 (rmmod): drm_dev_put / component_del

Use drmm_kms_helper_poll_init() so polling is finalized with the device, as other drivers do.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc8b75bca92cbf064b9fa125fc74a85994452e935 < b6beee927e7f4e3142032ff91b2d0417cdddc0f6affected
LinuxLinuxc8b75bca92cbf064b9fa125fc74a85994452e935 < cf0c4432bda37b02e7d430ff5017228ceb7caf0caffected
LinuxLinuxc8b75bca92cbf064b9fa125fc74a85994452e935 < ee507691c18f9fee5d4751e295ab9a7ff31d59aeaffected
LinuxLinuxc8b75bca92cbf064b9fa125fc74a85994452e935 < 7f9780df677370a19b4ec9764f13b1b82073e0d9affected
LinuxLinuxc8b75bca92cbf064b9fa125fc74a85994452e935 < 073a30d75f309812ed61af134f24ffef4107b13aaffected
LinuxLinux4.4affected
LinuxLinux0 < 4.4unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.112 <= 6.12.*unaffected
LinuxLinux6.18.54 <= 6.18.*unaffected
LinuxLinux7.2.8 <= 7.2.*unaffected
LinuxLinux7.3-rc4 <= *unaffected

Weaknesses

References