Description
In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: Validate payload length and link_index in dc_process_dmub_aux_transfer_async [Why&How] dc_process_dmub_aux_transfer_async() copies payload->length bytes into a 16-byte stack buffer (dpaux.data[16]) guarded only by an ASSERT(), which is a no-op in release builds. If a caller ever passes length > 16 this results in a stack buffer overflow via memcpy. Additionally, link_index is used to dereference dc->links[] without bounds checking against dc->link_count, risking an out-of-bounds access. Replace the ASSERT with a hard runtime check that returns false when payload->length exceeds the destination buffer size, and add a bounds check for link_index before it is used. (cherry picked from commit ba4caa9fecdf7a38f98c878ad05a8a64148b6881)
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
4f8e37dbaf584de6d38f58b3000b0bfd7eaf2ff6 to < d6590e3f766e3111dd1beaf88b9384d117acfa6baffected4f8e37dbaf584de6d38f58b3000b0bfd7eaf2ff6 to < 16a5fa57565afb6bf37e18129921c270c93d8e2baffected4f8e37dbaf584de6d38f58b3000b0bfd7eaf2ff6 to < 90c398e822ca76e40548df0c061dd4f93ea92d71affected4f8e37dbaf584de6d38f58b3000b0bfd7eaf2ff6 to < 3265f3ed373fb8048be713aadcdf702579a0e53daffected4f8e37dbaf584de6d38f58b3000b0bfd7eaf2ff6 to < 1ecde19bfce6535bffddad1139ff466b6d401b8eaffected4f8e37dbaf584de6d38f58b3000b0bfd7eaf2ff6 to < 1c8c6e912f2945b2a3e669afca6b52174b88e86eaffected4f8e37dbaf584de6d38f58b3000b0bfd7eaf2ff6 to < 6c92f6d9600efa3ef0d9e560a2b52776d9803c29affected
Linux Linux
Default version status: affected
5.13affected0 to < 5.13unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.142 to ≤ 6.6.*unaffected6.12.92 to ≤ 6.12.*unaffected6.18.34 to ≤ 6.18.*unaffected7.0.11 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/d6590e3f766e3111dd1beaf88b9384d117acfa6b ↗
- https://git.kernel.org/stable/c/16a5fa57565afb6bf37e18129921c270c93d8e2b ↗
- https://git.kernel.org/stable/c/90c398e822ca76e40548df0c061dd4f93ea92d71 ↗
- https://git.kernel.org/stable/c/3265f3ed373fb8048be713aadcdf702579a0e53d ↗
- https://git.kernel.org/stable/c/1ecde19bfce6535bffddad1139ff466b6d401b8e ↗
- https://git.kernel.org/stable/c/1c8c6e912f2945b2a3e669afca6b52174b88e86e ↗
- https://git.kernel.org/stable/c/6c92f6d9600efa3ef0d9e560a2b52776d9803c29 ↗