Skip to main content
← All vulnerabilities
CVE-2026-98319

drm: Fix drm_pending_vblank_event leak in error path for out_fence_ptr

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.10, 5.10.271, 5.15.222, 6.1.189, 6.6.158, and 3 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: drm: Fix drm_pending_vblank_event leak in error path for out_fence_ptr When an out_fence_ptr is provided but DRM_MODE_PAGE_FLIP_EVENT is not set, a drm_pending_vblank_event will be allocated. If later, there is an allocation failure or another failure at setup_out_fence(), that event will not have base.fence set and it will not be released at complete_signaling(). Release the event and set crtc_state->event to NULL just like in the DRM_MODE_PAGE_FLIP_EVENT case when there is a failure at drm_event_reserve_init(). That is, prepare_signaling() releases the event and there is nothing to be done at complete_signaling(). Use drm_event_cancel_free() as that will also undo drm_event_reserve_init() in case it has been called.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 92c715fca907686f5298220ece53423e38ba3aed · fixed in 3d6576ed3de01e8a378397b7020e33ae3d40aa6c; From 92c715fca907686f5298220ece53423e38ba3aed · fixed in 86c33f740aa27e9cdc1259f0cc59c9c58f545e4b; From 92c715fca907686f5298220ece53423e38ba3aed · fixed in 88c450e23b8fd4f1dcd329562f5e81ef05f3d941; From 92c715fca907686f5298220ece53423e38ba3aed · fixed in 780716e2e019186fa6e5aad097a44b87b0b5388f; From 92c715fca907686f5298220ece53423e38ba3aed · fixed in d0be0516b5224eb5b6f42f8564a8deadb20ae16b; From 92c715fca907686f5298220ece53423e38ba3aed · fixed in daefd7ff159b0d1fb8c9e64430dcbe2aca1bdd09; From 92c715fca907686f5298220ece53423e38ba3aed · fixed in b9a68a9ccaada15d8dd0102c188cc6b868ff800b; From 92c715fca907686f5298220ece53423e38ba3aed · fixed in 9eb1a393c89a79c4210230d23e7d88d239c61d7b; From 4.9.10 · fixed in 4.10

  • Linux Linux

    4.10

  • KernelLinux

    From 4.10.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8

References 8

git.kernel.org