CyberRota Analysis
AI-GeneratedThe Linux kernel is vulnerable due to a stack buffer overflow in the `dc_process_dmub_aux_transfer_async()` function, where an unchecked payload length can lead to memory corruption. Additionally, improper bounds checking on the `link_index` variable may result in out-of-bounds access, potentially allowing an attacker to execute arbitrary code or crash the system. Organizations using affected Linux distributions should prioritize patching this vulnerability to mitigate the risk of exploitation.
Original NVD 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)
Related CVEs
Other vulnerabilities affecting the same vendor(s)