CVE-2026-89816: vulnerability in Linux
drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used
Published
3Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackepss 0.2%
exploitation probability
0.2%top 90% of all CVEs
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
drm: Fix drm_crtc_commit leak if signaled when PAGE_FLIP_EVENT is used
Commit 1c6ceeee6ebb ("drm/atomic: Fix memleak on ERESTARTSYS during
non-blocking commits") fixed a very similar issue when the event was
allocated by drm_atomic_helper_setup_commit() itself.
However, if the event is allocated in prepare_signaling(), it will also be
set to NULL in complete_signaling(), which prevents drm_crtc_commit from
being put in __drm_atomic_helper_crtc_destroy_state().
Dropping the reference when the event is set to NULL at
complete_signaling() fixes the leak.
The leak can be reproduced by sending a signal to the thread using
DRM_MODE_PAGE_FLIP_EVENT and using a sw_sync fence to cause the atomic
ioctl to block at drm_atomic_helper_wait_for_fences(). It happened both
with amdgpu and vkms.
Affected products
Linux · LinuxRelated CVEs — Linux
In the same product, most dangerous first.
CVE-2024-53197HIGHALSA: usb-audio: Fix potential out-of-bound accesses for Extigy and Mbox devicesEPSS 4.1%KEVCVE-2026-31431HIGHcrypto: algif_aead - Revert to operating out-of-placeEPSS 3.4%KEVCVE-2024-53104HIGHmedia: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in uvc_parse_formatEPSS 3.4%KEVCVE-2025-39682CRITICALtls: fix handling of zero-length records on the rx_listEPSS 2.9%KEVCVE-2024-36971HIGHnet: fix __dst_negative_advice() raceEPSS 2.7%KEVCVE-2024-53150HIGHALSA: usb-audio: Fix out of bounds reads when finding clock sourcesEPSS 1.4%KEV
References
https://git.kernel.org/stable/c/4d4be202165e832d74849b4a68e289a2a377039chttps://git.kernel.org/stable/c/66b1b309886337745d395bbc158440ab196305cehttps://git.kernel.org/stable/c/6a6a7aae4681a20cd32789fea9a487aaafa0e7a3https://git.kernel.org/stable/c/866a04137dac7e82a3848851061ff7ed15c2847ehttps://git.kernel.org/stable/c/c5517b71101f61a45144e3cf77a19626355272dehttps://git.kernel.org/stable/c/e2f27b5ed9084feb7bae9ef2bc80de37c92280b1https://git.kernel.org/stable/c/e6195b941fdc8d81fc431c9f25539cf6c6234b51https://git.kernel.org/stable/c/ff73f5f43d032c3da3c534c517f661e8dfeb358a