Description
In the Linux kernel, the following vulnerability has been resolved:
drm/dp_mst: Fix resetting msg rx state after topology removal
If the MST topology is removed during the reception of an MST down reply or MST up request sideband message, the drm_dp_mst_topology_mgr::up_req_recv/down_rep_recv states could be reset from one thread via drm_dp_mst_topology_mgr_set_mst(false), racing with the reading/parsing of the message from another thread via drm_dp_mst_handle_down_rep() or drm_dp_mst_handle_up_req(). The race is possible since the reader/parser doesn't hold any lock while accessing the reception state. This in turn can lead to a memory corruption in the reader/parser as described by commit bd2fccac61b4 ("drm/dp_mst: Fix MST sideband message body length check").
Fix the above by resetting the message reception state if needed before reading/parsing a message. Another solution would be to hold the drm_dp_mst_topology_mgr::lock for the whole duration of the message reception/parsing in drm_dp_mst_handle_down_rep() and drm_dp_mst_handle_up_req(), however this would require a bigger change. Since the fix is also needed for stable, opting for the simpler solution in this patch.
Metrics
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= b30fcedeba643ca16eaa6212c1245598b7cd830d, < 94b33b2d7640e807869451384eb88321dd0ffbd4; >= 1d082618bbf3b6755b8cc68c0a8122af2842d593, < d834d20d2e86c52ed5cab41763fa61e6071680ef; >= 1d082618bbf3b6755b8cc68c0a8122af2842d593, < be826b4451fd187a7c0b04be4f8243d5df6e0450; >= 1d082618bbf3b6755b8cc68c0a8122af2842d593, < a6fa67d26de385c3c7a23c1e109a0e23bfda4ec7; ee4a4282d78d96e07e714c28ca54679713fa2157; db35e49413a4d03ea0c003598803e49956f59324; a579ed4613b5a64074963988ad481e43cf3b917b; >= 6.1.18, < 6.1.120; >= 5.10.173, < 5.11; >= 5.15.100, < 5.16; >= 6.2.5, < 6.3 |
| Linux | Linux | 6.3 |
References
- https://git.kernel.org/stable/c/94b33b2d7640e807869451384eb88321dd0ffbd4Patch
- https://git.kernel.org/stable/c/a6fa67d26de385c3c7a23c1e109a0e23bfda4ec7Patch
- https://git.kernel.org/stable/c/be826b4451fd187a7c0b04be4f8243d5df6e0450Patch
- https://git.kernel.org/stable/c/d834d20d2e86c52ed5cab41763fa61e6071680efPatch
- https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html
Timeline
- Published
- Jan 11, 2025
- Last modified
- Nov 5, 2026
- NVD status
- Modified