CVE-2022-50421

Summary

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

rpmsg: char: Avoid double destroy of default endpoint

The rpmsg_dev_remove() in rpmsg_core is the place for releasing this default endpoint.

So need to avoid destroying the default endpoint in rpmsg_chrdev_eptdev_destroy(), this should be the same as rpmsg_eptdev_release(). Otherwise there will be double destroy issue that ept->refcount report warning:

refcount_t: underflow; use-after-free.

Call trace: refcount_warn_saturate+0xf8/0x150 virtio_rpmsg_destroy_ept+0xd4/0xec rpmsg_dev_remove+0x60/0x70

The issue can be reproduced by stopping remoteproc before closing the /dev/rpmsgX.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxbea9b79c2d10fecf7bfa26e212ecefe61d232e39 < ef828a39d6a7028836eaf37df3ad568c8c2dd6f9affected
LinuxLinuxbea9b79c2d10fecf7bfa26e212ecefe61d232e39 < 3f20ef7a845c2c8d7ec82ecffa20d95cab5ecfebaffected
LinuxLinuxbea9b79c2d10fecf7bfa26e212ecefe61d232e39 < 467233a4ac29b215d492843d067a9f091e6bf0c5affected
LinuxLinux5.18affected
LinuxLinux0 < 5.18unaffected
LinuxLinux5.19.17 <= 5.19.*unaffected
LinuxLinux6.0.3 <= 6.0.*unaffected
LinuxLinux6.1 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: total

References