ghsa-wj9m-5hmc-xhpp
Vulnerability from github
Published
2025-09-18 18:30
Modified
2025-09-18 18:30
Details

In the Linux kernel, the following vulnerability has been resolved:

drm: bridge: adv7511: unregister cec i2c device after cec adapter

cec_unregister_adapter() assumes that the underlying adapter ops are callable. For example, if the CEC adapter currently has a valid physical address, then the unregistration procedure will invalidate the physical address by setting it to f.f.f.f. Whence the following kernel oops observed after removing the adv7511 module:

Unable to handle kernel execution of user memory at virtual address 0000000000000000
Internal error: Oops: 86000004 [#1] PREEMPT_RT SMP
Call trace:
 0x0
 adv7511_cec_adap_log_addr+0x1ac/0x1c8 [adv7511]
 cec_adap_unconfigure+0x44/0x90 [cec]
 __cec_s_phys_addr.part.0+0x68/0x230 [cec]
 __cec_s_phys_addr+0x40/0x50 [cec]
 cec_unregister_adapter+0xb4/0x118 [cec]
 adv7511_remove+0x60/0x90 [adv7511]
 i2c_device_remove+0x34/0xe0
 device_release_driver_internal+0x114/0x1f0
 driver_detach+0x54/0xe0
 bus_remove_driver+0x60/0xd8
 driver_unregister+0x34/0x60
 i2c_del_driver+0x2c/0x68
 adv7511_exit+0x1c/0x67c [adv7511]
 __arm64_sys_delete_module+0x154/0x288
 invoke_syscall+0x48/0x100
 el0_svc_common.constprop.0+0x48/0xe8
 do_el0_svc+0x28/0x88
 el0_svc+0x1c/0x50
 el0t_64_sync_handler+0xa8/0xb0
 el0t_64_sync+0x15c/0x160
Code: bad PC value
---[ end trace 0000000000000000 ]---

Protect against this scenario by unregistering i2c_cec after unregistering the CEC adapter. Duly disable the CEC clock afterwards too.

Show details on source website


{
  "affected": [],
  "aliases": [
    "CVE-2022-50412"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-09-18T16:15:44Z",
    "severity": null
  },
  "details": "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.",
  "id": "GHSA-wj9m-5hmc-xhpp",
  "modified": "2025-09-18T18:30:27Z",
  "published": "2025-09-18T18:30:27Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-50412"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/3747465c5da7a11957a34bbb9485d9fc253b91cc"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/40cdb02cb9f965732eb543d47f15bef8d10f0f5f"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/4d4d5bc659206b187263190ad9a03513f625659d"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/86ae5170786aea3e1751123ca55700fb9b37b623"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/f369fb4deed7ab997cfa703dc85ec08b3adc1af8"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…