CVE-2026-74421
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
drm/rockchip: dw_dp: Switch to drmm_kzalloc()
Driver makes use of drmm_encoder_init() to initialize the encoder and automatically handle the cleanup by registering drm_encoder_cleanup() with drmm_add_action().
However, the internal structure containing the encoder part gets allocated with devm_kzalloc(), which happens while component_bind_all() is being called from Rockchip DRM driver. The component framework further ensures it is deallocated as part of releasing all the resources claimed during bind, which is triggered from component_unbind_all().
When the reference to the DRM device gets eventually dropped via drm_dev_put() in rockchip_drm_unbind(), drmm_encoder_alloc_release() attempts to access the now released encoder structure, leading to use-after-free.
Ensure driver's internal structure is still reachable on encoder cleanup by switching from a device-managed allocation to a drm-managed one.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | d68ba7bac9555d05e2f5b310c898b2a5c7eff174 < 0d60b835bca42f0f790689dd47819ed881a92ccc | affected |
| Linux | Linux | d68ba7bac9555d05e2f5b310c898b2a5c7eff174 < 6b0b92d1110eccccbd5ba2949bd2b9fb6ea5fc12 | affected |
| Linux | Linux | d68ba7bac9555d05e2f5b310c898b2a5c7eff174 < ed9da8d23020352ad24c528db09b5acdd78b81fd | affected |
| Linux | Linux | 6.18 | affected |
| Linux | Linux | 0 < 6.18 | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/0d60b835bca42f0f790689dd47819ed881a92ccc
- https://git.kernel.org/stable/c/6b0b92d1110eccccbd5ba2949bd2b9fb6ea5fc12
- https://git.kernel.org/stable/c/ed9da8d23020352ad24c528db09b5acdd78b81fd
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.