CVE-2026-68214
media: rtl2832: fix use-after-free in rtl2832_remove()
Description
In the Linux kernel, the following vulnerability has been resolved: media: rtl2832: fix use-after-free in rtl2832_remove() cancel_delayed_work_sync() is called before i2c_mux_del_adapters() in rtl2832_remove(). While the cancel waits for any running instance of i2c_gate_work to finish, it does not prevent the timer from being rescheduled by a concurrent thread. During probe, the r820t_attach() call attempts I2C transfers through the mux adapter. These transfers go through i2c_mux_master_xfer(), which calls rtl2832_deselect() after the transfer completes, rescheduling i2c_gate_work via schedule_delayed_work(). If this transfer is still in flight when rtl2832_remove() runs, rtl2832_deselect() can reschedule i2c_gate_work after it has been cancelled, causing a use-after-free when kfree(dev) is called. Fix this by calling i2c_mux_del_adapters() before cancel_delayed_work_sync(). Once the mux adapter is unregistered, no new I2C transfers can go through it, so rtl2832_deselect() can no longer reschedule i2c_gate_work. The subsequent cancel_delayed_work_sync() is then guaranteed to be final.
INFO
Published Date :
Aug. 10, 2026, 1:20 p.m.
Last Modified :
Aug. 17, 2026, 5:18 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
- Unregister the mux adapter before cancelling delayed work.
- Ensure rtl2832_deselect cannot reschedule the work.
- Call i2c_mux_del_adapters() before cancel_delayed_work_sync().
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-68214.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-68214 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-68214
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-68214 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-68214 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '9acd5bbbe1df8e487e49488692c224496d4c9e16', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '24bef237eef8dd1ebcffb129ba21891ddad0d309', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '2c71bda6edc630a1f8c3c45d8df5fc22d234e042', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '90d781711418881f8c836c2a859cc2886625d750', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '680daf40a82d483949f87f0d8f98639dc47e610c', 'versionType': 'git'}], 'programFiles': ['drivers/media/dvb-frontends/rtl2832.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.7'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.7', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.148', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.101', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.42', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.6', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/media/dvb-frontends/rtl2832.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '9acd5bbbe1df8e487e49488692c224496d4c9e16', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '24bef237eef8dd1ebcffb129ba21891ddad0d309', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '2c71bda6edc630a1f8c3c45d8df5fc22d234e042', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '90d781711418881f8c836c2a859cc2886625d750', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '680daf40a82d483949f87f0d8f98639dc47e610c', 'versionType': 'git'}], 'programFiles': ['drivers/media/dvb-frontends/rtl2832.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.7'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.7', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.148', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.101', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.42', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.6', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/media/dvb-frontends/rtl2832.c'], 'defaultStatus': 'affected'}] -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 10, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '9acd5bbbe1df8e487e49488692c224496d4c9e16', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '24bef237eef8dd1ebcffb129ba21891ddad0d309', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '2c71bda6edc630a1f8c3c45d8df5fc22d234e042', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '90d781711418881f8c836c2a859cc2886625d750', 'versionType': 'git'}, {'status': 'affected', 'version': 'cddcc40b1b1553010acb89add84c64b5d123ec94', 'lessThan': '680daf40a82d483949f87f0d8f98639dc47e610c', 'versionType': 'git'}], 'programFiles': ['drivers/media/dvb-frontends/rtl2832.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.7'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.7', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.148', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.101', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.42', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.6', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/media/dvb-frontends/rtl2832.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: media: rtl2832: fix use-after-free in rtl2832_remove() cancel_delayed_work_sync() is called before i2c_mux_del_adapters() in rtl2832_remove(). While the cancel waits for any running instance of i2c_gate_work to finish, it does not prevent the timer from being rescheduled by a concurrent thread. During probe, the r820t_attach() call attempts I2C transfers through the mux adapter. These transfers go through i2c_mux_master_xfer(), which calls rtl2832_deselect() after the transfer completes, rescheduling i2c_gate_work via schedule_delayed_work(). If this transfer is still in flight when rtl2832_remove() runs, rtl2832_deselect() can reschedule i2c_gate_work after it has been cancelled, causing a use-after-free when kfree(dev) is called. Fix this by calling i2c_mux_del_adapters() before cancel_delayed_work_sync(). Once the mux adapter is unregistered, no new I2C transfers can go through it, so rtl2832_deselect() can no longer reschedule i2c_gate_work. The subsequent cancel_delayed_work_sync() is then guaranteed to be final. Added Reference https://git.kernel.org/stable/c/24bef237eef8dd1ebcffb129ba21891ddad0d309 Added Reference https://git.kernel.org/stable/c/2c71bda6edc630a1f8c3c45d8df5fc22d234e042 Added Reference https://git.kernel.org/stable/c/680daf40a82d483949f87f0d8f98639dc47e610c Added Reference https://git.kernel.org/stable/c/90d781711418881f8c836c2a859cc2886625d750 Added Reference https://git.kernel.org/stable/c/9acd5bbbe1df8e487e49488692c224496d4c9e16