{"id":"CVE-2022-50412","state":"PUBLISHED","title":"drm: bridge: adv7511: unregister cec i2c device after cec adapter","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm: bridge: adv7511: unregister cec i2c device after cec adapter\n\ncec_unregister_adapter() assumes that the underlying adapter ops are\ncallable. For example, if the CEC adapter currently has a valid physical\naddress, then the unregistration procedure will invalidate the physical\naddress by setting it to f.f.f.f. Whence the following kernel oops\nobserved after removing the adv7511 module:\n\n    Unable to handle kernel execution of user memory at virtual address 0000000000000000\n    Internal error: Oops: 86000004 [#1] PREEMPT_RT SMP\n    Call trace:\n     0x0\n     adv7511_cec_adap_log_addr+0x1ac/0x1c8 [adv7511]\n     cec_adap_unconfigure+0x44/0x90 [cec]\n     __cec_s_phys_addr.part.0+0x68/0x230 [cec]\n     __cec_s_phys_addr+0x40/0x50 [cec]\n     cec_unregister_adapter+0xb4/0x118 [cec]\n     adv7511_remove+0x60/0x90 [adv7511]\n     i2c_device_remove+0x34/0xe0\n     device_release_driver_internal+0x114/0x1f0\n     driver_detach+0x54/0xe0\n     bus_remove_driver+0x60/0xd8\n     driver_unregister+0x34/0x60\n     i2c_del_driver+0x2c/0x68\n     adv7511_exit+0x1c/0x67c [adv7511]\n     __arm64_sys_delete_module+0x154/0x288\n     invoke_syscall+0x48/0x100\n     el0_svc_common.constprop.0+0x48/0xe8\n     do_el0_svc+0x28/0x88\n     el0_svc+0x1c/0x50\n     el0t_64_sync_handler+0xa8/0xb0\n     el0t_64_sync+0x15c/0x160\n    Code: bad PC value\n    ---[ end trace 0000000000000000 ]---\n\nProtect against this scenario by unregistering i2c_cec after\nunregistering the CEC adapter. Duly disable the CEC clock afterwards\ntoo.","publishedAt":"2025-09-18T16:03:56.159Z","updatedAt":"2026-05-11T19:18:59.583Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"CISA-ADP"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"3747465c5da7a11957a34bbb9485d9fc253b91cc","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"f369fb4deed7ab997cfa703dc85ec08b3adc1af8","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"4d4d5bc659206b187263190ad9a03513f625659d","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"86ae5170786aea3e1751123ca55700fb9b37b623","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"40cdb02cb9f965732eb543d47f15bef8d10f0f5f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/bridge/adv7511/adv7511_drv.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.15","versionType":"semver"},{"version":"5.10.234","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.75","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.19.17","status":"unaffected","lessThanOrEqual":"5.19.*","versionType":"semver"},{"version":"6.0.3","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/bridge/adv7511/adv7511_drv.c"]}],"references":["https://git.kernel.org/stable/c/3747465c5da7a11957a34bbb9485d9fc253b91cc","https://git.kernel.org/stable/c/f369fb4deed7ab997cfa703dc85ec08b3adc1af8","https://git.kernel.org/stable/c/4d4d5bc659206b187263190ad9a03513f625659d","https://git.kernel.org/stable/c/86ae5170786aea3e1751123ca55700fb9b37b623","https://git.kernel.org/stable/c/40cdb02cb9f965732eb543d47f15bef8d10f0f5f"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/50xxx/CVE-2022-50412.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50412","state":"PUBLISHED","datePublished":"2025-09-18T16:03:56.159Z","dateUpdated":"2026-05-11T19:18:59.583Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-09-17T14:53:07.002Z"},"containers":{"cna":{"title":"drm: bridge: adv7511: unregister cec i2c device after cec adapter","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm: bridge: adv7511: unregister cec i2c device after cec adapter\n\ncec_unregister_adapter() assumes that the underlying adapter ops are\ncallable. For example, if the CEC adapter currently has a valid physical\naddress, then the unregistration procedure will invalidate the physical\naddress by setting it to f.f.f.f. Whence the following kernel oops\nobserved after removing the adv7511 module:\n\n    Unable to handle kernel execution of user memory at virtual address 0000000000000000\n    Internal error: Oops: 86000004 [#1] PREEMPT_RT SMP\n    Call trace:\n     0x0\n     adv7511_cec_adap_log_addr+0x1ac/0x1c8 [adv7511]\n     cec_adap_unconfigure+0x44/0x90 [cec]\n     __cec_s_phys_addr.part.0+0x68/0x230 [cec]\n     __cec_s_phys_addr+0x40/0x50 [cec]\n     cec_unregister_adapter+0xb4/0x118 [cec]\n     adv7511_remove+0x60/0x90 [adv7511]\n     i2c_device_remove+0x34/0xe0\n     device_release_driver_internal+0x114/0x1f0\n     driver_detach+0x54/0xe0\n     bus_remove_driver+0x60/0xd8\n     driver_unregister+0x34/0x60\n     i2c_del_driver+0x2c/0x68\n     adv7511_exit+0x1c/0x67c [adv7511]\n     __arm64_sys_delete_module+0x154/0x288\n     invoke_syscall+0x48/0x100\n     el0_svc_common.constprop.0+0x48/0xe8\n     do_el0_svc+0x28/0x88\n     el0_svc+0x1c/0x50\n     el0t_64_sync_handler+0xa8/0xb0\n     el0t_64_sync+0x15c/0x160\n    Code: bad PC value\n    ---[ end trace 0000000000000000 ]---\n\nProtect against this scenario by unregistering i2c_cec after\nunregistering the CEC adapter. Duly disable the CEC clock afterwards\ntoo."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"3747465c5da7a11957a34bbb9485d9fc253b91cc","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"f369fb4deed7ab997cfa703dc85ec08b3adc1af8","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"4d4d5bc659206b187263190ad9a03513f625659d","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"86ae5170786aea3e1751123ca55700fb9b37b623","versionType":"git"},{"version":"3b1b975003e4a3da4b93ab032487a3ae4afca7b5","status":"affected","lessThan":"40cdb02cb9f965732eb543d47f15bef8d10f0f5f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/bridge/adv7511/adv7511_drv.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.15","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.15","versionType":"semver"},{"version":"5.10.234","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.75","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.19.17","status":"unaffected","lessThanOrEqual":"5.19.*","versionType":"semver"},{"version":"6.0.3","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/gpu/drm/bridge/adv7511/adv7511_drv.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/3747465c5da7a11957a34bbb9485d9fc253b91cc"},{"url":"https://git.kernel.org/stable/c/f369fb4deed7ab997cfa703dc85ec08b3adc1af8"},{"url":"https://git.kernel.org/stable/c/4d4d5bc659206b187263190ad9a03513f625659d"},{"url":"https://git.kernel.org/stable/c/86ae5170786aea3e1751123ca55700fb9b37b623"},{"url":"https://git.kernel.org/stable/c/40cdb02cb9f965732eb543d47f15bef8d10f0f5f"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:18:59.583Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"5.10.234"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"5.15.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"5.19.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.0.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.15","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2022-50412","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-01-14T19:09:15.618187Z"}}}],"problemTypes":[{"descriptions":[{"lang":"en","type":"CWE","description":"CWE-noinfo Not enough information"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-01-14T19:13:09.192Z"}}]}}}