CVE-2026-68205
media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()
Description
In the Linux kernel, the following vulnerability has been resolved: media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor() The v4l2 helper v4l2_async_register_subdev_sensor() calls v4l2_async_register_subdev(), which is a macro that expands to __v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded inside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module rather than the sensor driver module that originally set sd->owner. When v4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then overwrites the sensor driver's owner with NULL. This causes the problem that the sensor module's reference count is never incremented during async registration, so the module can be removed while the subdevice is still in use by a notifier (e.g., a CSI-2 receiver bridge driver). Fix this by renaming v4l2_async_register_subdev_sensor() to __v4l2_async_register_subdev_sensor() with an added explicit module argument and introducing a wrapper macro: #define v4l2_async_register_subdev_sensor(sd) \ __v4l2_async_register_subdev_sensor(sd, THIS_MODULE) This ensures the sensor driver module is properly referenced even when the sensor driver does not init the owner field before calling v4l2_async_register_subdev_sensor() and prevents premature module removal.
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
- Update the Linux kernel to the latest stable version.
- Ensure sensor drivers correctly set the owner field.
- Verify module reference counts are managed properly.
- Test subdevice registration and module removal scenarios.
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-68205.
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-68205 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-68205
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-68205 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-68205 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': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '47ef04cd13d38010b580056a9d8840aaab944841', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': 'caea6bc68c925d63ca33d21b2255f47181943d61', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': 'cf9732fd6c4f2f803ccfc46d89489b6635590270', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '067887ff93fddbb3a3fb84c900bc654ecfe5ba61', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '06cb687a5132fcffe624c0070576ab852ac6b568', 'versionType': 'git'}], 'programFiles': ['drivers/media/v4l2-core/v4l2-fwnode.c', 'include/media/v4l2-async.h'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.15'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.15', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.151', '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/v4l2-core/v4l2-fwnode.c', 'include/media/v4l2-async.h'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '47ef04cd13d38010b580056a9d8840aaab944841', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': 'caea6bc68c925d63ca33d21b2255f47181943d61', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': 'cf9732fd6c4f2f803ccfc46d89489b6635590270', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '067887ff93fddbb3a3fb84c900bc654ecfe5ba61', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '06cb687a5132fcffe624c0070576ab852ac6b568', 'versionType': 'git'}], 'programFiles': ['drivers/media/v4l2-core/v4l2-fwnode.c', 'include/media/v4l2-async.h'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.15'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.15', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.151', '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/v4l2-core/v4l2-fwnode.c', 'include/media/v4l2-async.h'], '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': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '47ef04cd13d38010b580056a9d8840aaab944841', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': 'caea6bc68c925d63ca33d21b2255f47181943d61', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': 'cf9732fd6c4f2f803ccfc46d89489b6635590270', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '067887ff93fddbb3a3fb84c900bc654ecfe5ba61', 'versionType': 'git'}, {'status': 'affected', 'version': 'aef69d54755d45edefbf347a51efd1673d7daed9', 'lessThan': '06cb687a5132fcffe624c0070576ab852ac6b568', 'versionType': 'git'}], 'programFiles': ['drivers/media/v4l2-core/v4l2-fwnode.c', 'include/media/v4l2-async.h'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.15'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.15', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.151', '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/v4l2-core/v4l2-fwnode.c', 'include/media/v4l2-async.h'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor() The v4l2 helper v4l2_async_register_subdev_sensor() calls v4l2_async_register_subdev(), which is a macro that expands to __v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded inside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module rather than the sensor driver module that originally set sd->owner. When v4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then overwrites the sensor driver's owner with NULL. This causes the problem that the sensor module's reference count is never incremented during async registration, so the module can be removed while the subdevice is still in use by a notifier (e.g., a CSI-2 receiver bridge driver). Fix this by renaming v4l2_async_register_subdev_sensor() to __v4l2_async_register_subdev_sensor() with an added explicit module argument and introducing a wrapper macro: #define v4l2_async_register_subdev_sensor(sd) \ __v4l2_async_register_subdev_sensor(sd, THIS_MODULE) This ensures the sensor driver module is properly referenced even when the sensor driver does not init the owner field before calling v4l2_async_register_subdev_sensor() and prevents premature module removal. Added Reference https://git.kernel.org/stable/c/067887ff93fddbb3a3fb84c900bc654ecfe5ba61 Added Reference https://git.kernel.org/stable/c/06cb687a5132fcffe624c0070576ab852ac6b568 Added Reference https://git.kernel.org/stable/c/47ef04cd13d38010b580056a9d8840aaab944841 Added Reference https://git.kernel.org/stable/c/caea6bc68c925d63ca33d21b2255f47181943d61 Added Reference https://git.kernel.org/stable/c/cf9732fd6c4f2f803ccfc46d89489b6635590270