Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected c8b75bca92cbf064b9fa125fc74a85994452e935 before b6beee927e7f4e3142032ff91b2d0417cdddc0f6; affected c8b75bca92cbf064b9fa125fc74a85994452e935 before cf0c4432bda37b02e7d430ff5017228ceb7caf0c; affected c8b75bca92cbf064b9fa125fc74a85994452e935 before ee507691c18f9fee5d4751e295ab9a7ff31d59ae; affected c8b75bca92cbf064b9fa125fc74a85994452e935 before 7f9780df677370a19b4ec9764f13b1b82073e0d9; affected c8b75bca92cbf064b9fa125fc74a85994452e935 before 073a30d75f309812ed61af134f24ffef4107b13a |
| Linux / Linux | affected 4.4; unaffected 0 before 4.4; unaffected 6.6.158 through 6.6.*; unaffected 6.12.112 through 6.12.*; unaffected 6.18.54 through 6.18.*; unaffected 7.2.8 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/b6beee927e7f4e3142032ff91b2d0417cdddc0f6
- https://git.kernel.org/stable/c/cf0c4432bda37b02e7d430ff5017228ceb7caf0c
- https://git.kernel.org/stable/c/ee507691c18f9fee5d4751e295ab9a7ff31d59ae
- https://git.kernel.org/stable/c/7f9780df677370a19b4ec9764f13b1b82073e0d9
- https://git.kernel.org/stable/c/073a30d75f309812ed61af134f24ffef4107b13a