Skip to main content
← All vulnerabilities
CVE-2023-53851

drm/msm/dp: Drop aux devices together with DP controller

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.1, 6.1.189, 6.3.13, 6.4.4
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: drm/msm/dp: Drop aux devices together with DP controller Using devres to depopulate the aux bus made sure that upon a probe deferral the EDP panel device would be destroyed and recreated upon next attempt. But the struct device which the devres is tied to is the DPUs (drm_dev->dev), which may be happen after the DP controller is torn down. Indications of this can be seen in the commonly seen EDID-hexdump full of zeros in the log, or the occasional/rare KASAN fault where the panel's attempt to read the EDID information causes a use after free on DP resources. It's tempting to move the devres to the DP controller's struct device, but the resources used by the device(s) on the aux bus are explicitly torn down in the error path. The KASAN-reported use-after-free also remains, as the DP aux "module" explicitly frees its devres-allocated memory in this code path. As such, explicitly depopulate the aux bus in the error path, and in the component unbind path, to avoid these issues. Patchwork: https://patchwork.freedesktop.org/patch/542163/

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 2b57f726611e294dc4297dd48eb8c98ef1938e82 · fixed in ff1338a3bfaa2f35b5f49a434f2ad6884b75fafe; From 2b57f726611e294dc4297dd48eb8c98ef1938e82 · fixed in e09ed06938807cb113cddd0708ed74bd8cdaff33; From 2b57f726611e294dc4297dd48eb8c98ef1938e82 · fixed in 2fde37445807e6e6d7981402d0bf1be0e5d81291; From 2b57f726611e294dc4297dd48eb8c98ef1938e82 · fixed in a7bfb2ad2184a1fba78be35209b6019aa8cc8d4d; From 6.0.7 · fixed in 6.1

  • Linux Linux

    6.1

  • KernelLinux

    From 6.1.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.3.13; From 6.4.0 · fixed in 6.4.4

References 4

git.kernel.org