{"api_version":"1","generated_at":"2026-08-13T08:27:33+00:00","cve":"CVE-2026-68205","urls":{"html":"https://cve.report/CVE-2026-68205","api":"https://cve.report/api/cve/CVE-2026-68205.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-68205","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-68205"},"summary":{"title":"media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()\n\nThe v4l2 helper v4l2_async_register_subdev_sensor() calls\nv4l2_async_register_subdev(), which is a macro that expands to\n__v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded\ninside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module\nrather than the sensor driver module that originally set sd->owner. When\nv4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then\noverwrites the sensor driver's owner with NULL.\n\nThis causes the problem that the sensor module's reference count is never\nincremented during async registration, so the module can be removed while\nthe subdevice is still in use by a notifier (e.g., a CSI-2 receiver\nbridge driver).\n\nFix this by renaming v4l2_async_register_subdev_sensor() to\n__v4l2_async_register_subdev_sensor() with an added explicit module\nargument and introducing a wrapper macro:\n    #define v4l2_async_register_subdev_sensor(sd) \\\n        __v4l2_async_register_subdev_sensor(sd, THIS_MODULE)\n\nThis ensures the sensor driver module is properly referenced even when\nthe sensor driver does not init the owner field before calling\nv4l2_async_register_subdev_sensor() and prevents premature module removal.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-10 13:20:08","updated_at":"2026-08-10 13:20:08"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/06cb687a5132fcffe624c0070576ab852ac6b568","name":"https://git.kernel.org/stable/c/06cb687a5132fcffe624c0070576ab852ac6b568","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/47ef04cd13d38010b580056a9d8840aaab944841","name":"https://git.kernel.org/stable/c/47ef04cd13d38010b580056a9d8840aaab944841","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/067887ff93fddbb3a3fb84c900bc654ecfe5ba61","name":"https://git.kernel.org/stable/c/067887ff93fddbb3a3fb84c900bc654ecfe5ba61","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/cf9732fd6c4f2f803ccfc46d89489b6635590270","name":"https://git.kernel.org/stable/c/cf9732fd6c4f2f803ccfc46d89489b6635590270","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/caea6bc68c925d63ca33d21b2255f47181943d61","name":"https://git.kernel.org/stable/c/caea6bc68c925d63ca33d21b2255f47181943d61","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-68205","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-68205","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected aef69d54755d45edefbf347a51efd1673d7daed9 47ef04cd13d38010b580056a9d8840aaab944841 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected aef69d54755d45edefbf347a51efd1673d7daed9 caea6bc68c925d63ca33d21b2255f47181943d61 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected aef69d54755d45edefbf347a51efd1673d7daed9 cf9732fd6c4f2f803ccfc46d89489b6635590270 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected aef69d54755d45edefbf347a51efd1673d7daed9 067887ff93fddbb3a3fb84c900bc654ecfe5ba61 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected aef69d54755d45edefbf347a51efd1673d7daed9 06cb687a5132fcffe624c0070576ab852ac6b568 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.15","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 4.15 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.151 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.101 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.42 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.6 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/media/v4l2-core/v4l2-fwnode.c","include/media/v4l2-async.h"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"47ef04cd13d38010b580056a9d8840aaab944841","status":"affected","version":"aef69d54755d45edefbf347a51efd1673d7daed9","versionType":"git"},{"lessThan":"caea6bc68c925d63ca33d21b2255f47181943d61","status":"affected","version":"aef69d54755d45edefbf347a51efd1673d7daed9","versionType":"git"},{"lessThan":"cf9732fd6c4f2f803ccfc46d89489b6635590270","status":"affected","version":"aef69d54755d45edefbf347a51efd1673d7daed9","versionType":"git"},{"lessThan":"067887ff93fddbb3a3fb84c900bc654ecfe5ba61","status":"affected","version":"aef69d54755d45edefbf347a51efd1673d7daed9","versionType":"git"},{"lessThan":"06cb687a5132fcffe624c0070576ab852ac6b568","status":"affected","version":"aef69d54755d45edefbf347a51efd1673d7daed9","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/media/v4l2-core/v4l2-fwnode.c","include/media/v4l2-async.h"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"4.15"},{"lessThan":"4.15","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.151","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.101","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.42","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.6","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.151","versionStartIncluding":"4.15","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.101","versionStartIncluding":"4.15","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.42","versionStartIncluding":"4.15","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.6","versionStartIncluding":"4.15","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"4.15","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()\n\nThe v4l2 helper v4l2_async_register_subdev_sensor() calls\nv4l2_async_register_subdev(), which is a macro that expands to\n__v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded\ninside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module\nrather than the sensor driver module that originally set sd->owner. When\nv4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then\noverwrites the sensor driver's owner with NULL.\n\nThis causes the problem that the sensor module's reference count is never\nincremented during async registration, so the module can be removed while\nthe subdevice is still in use by a notifier (e.g., a CSI-2 receiver\nbridge driver).\n\nFix this by renaming v4l2_async_register_subdev_sensor() to\n__v4l2_async_register_subdev_sensor() with an added explicit module\nargument and introducing a wrapper macro:\n    #define v4l2_async_register_subdev_sensor(sd) \\\n        __v4l2_async_register_subdev_sensor(sd, THIS_MODULE)\n\nThis ensures the sensor driver module is properly referenced even when\nthe sensor driver does not init the owner field before calling\nv4l2_async_register_subdev_sensor() and prevents premature module removal."}],"providerMetadata":{"dateUpdated":"2026-08-10T12:00:24.265Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/47ef04cd13d38010b580056a9d8840aaab944841"},{"url":"https://git.kernel.org/stable/c/caea6bc68c925d63ca33d21b2255f47181943d61"},{"url":"https://git.kernel.org/stable/c/cf9732fd6c4f2f803ccfc46d89489b6635590270"},{"url":"https://git.kernel.org/stable/c/067887ff93fddbb3a3fb84c900bc654ecfe5ba61"},{"url":"https://git.kernel.org/stable/c/06cb687a5132fcffe624c0070576ab852ac6b568"}],"title":"media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-68205","datePublished":"2026-08-10T12:00:24.265Z","dateReserved":"2026-07-30T09:28:09.374Z","dateUpdated":"2026-08-10T12:00:24.265Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-10 13:20:08","lastModifiedDate":"2026-08-10 13:20:08","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"68205","Ordinal":"1","Title":"media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_r","CVE":"CVE-2026-68205","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"68205","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_register_subdev_sensor()\n\nThe v4l2 helper v4l2_async_register_subdev_sensor() calls\nv4l2_async_register_subdev(), which is a macro that expands to\n__v4l2_async_register_subdev(sd,THIS_MODULE). Since the macro is expanded\ninside v4l2-fwnode.c, THIS_MODULE resolves to the v4l2-fwnode module\nrather than the sensor driver module that originally set sd->owner. When\nv4l2-fwnode is built-in, THIS_MODULE evaluates to NULL, which then\noverwrites the sensor driver's owner with NULL.\n\nThis causes the problem that the sensor module's reference count is never\nincremented during async registration, so the module can be removed while\nthe subdevice is still in use by a notifier (e.g., a CSI-2 receiver\nbridge driver).\n\nFix this by renaming v4l2_async_register_subdev_sensor() to\n__v4l2_async_register_subdev_sensor() with an added explicit module\nargument and introducing a wrapper macro:\n    #define v4l2_async_register_subdev_sensor(sd) \\\n        __v4l2_async_register_subdev_sensor(sd, THIS_MODULE)\n\nThis ensures the sensor driver module is properly referenced even when\nthe sensor driver does not init the owner field before calling\nv4l2_async_register_subdev_sensor() and prevents premature module removal.","Type":"Description","Title":"media: v4l2-fwnode: Fix subdev owner overwritten in v4l2_async_r"}]}}}