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

media: cec: disable delayed work before freeing an interrupted transmit

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.19, 4.20, 6.12.110, 6.18.51, 7.2.5
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: media: cec: disable delayed work before freeing an interrupted transmit cec_transmit_msg_fh() drops adap->lock to wait for a blocking transmit in wait_for_completion_killable(). If that wait is interrupted by a signal, cancel_delayed_work_sync() can run before the CEC kthread arms the reply timeout via schedule_delayed_work(&data->work) in cec_transmit_done_ts(). The work is then armed after the cancel, and the data is freed with its delayed_work still pending: ODEBUG: free active (active state 0) object: ... hint: cec_wait_timeout Use disable_delayed_work_sync(): it cancels the work and disables it, so the later schedule_delayed_work() becomes a no-op and the work cannot be re-armed. The data is freed right after, so it need not be re-enabled.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 490d84f6d73c12f4204241cff8651eed60aae914 · fixed in 9a951931d4b4084acd64fa55fc3672a9da45ddf9; From 490d84f6d73c12f4204241cff8651eed60aae914 · fixed in a3adb63b121937b97f7fdc51e96564c7c799538b; From 490d84f6d73c12f4204241cff8651eed60aae914 · fixed in 9c6ceb0949227c1f0cf0e19393daec72d9889871; From 490d84f6d73c12f4204241cff8651eed60aae914 · fixed in 0fbd5c2327020858c45b2d1c65775d64cdeca523; From 4.18.19 · fixed in 4.19; From 4.19.2 · fixed in 4.20

  • Linux Linux

    4.20

  • KernelLinux

    From 4.20.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.5

References 4

git.kernel.org