CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's ASoC SOF IPC3 control implementation, where improper handling of data sizes in the `sof_ipc3_bytes_put` and `sof_ipc3_bytes_get` functions can lead to potential data truncation or the copying of stale data. This flaw may result in unexpected behavior or crashes in applications relying on these functions, posing a risk to system stability and data integrity. Linux kernel maintainers and developers using ASoC SOF should prioritize this fix to ensure the reliability of their audio processing systems.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: ipc3-control: Fix TOCTOU in bytes_put and bytes_get In sof_ipc3_bytes_put(), the size used for the memcpy is derived from the old data->size already in the buffer, not the incoming new data's size field. If the new data has a different size, the copy length is wrong: it may truncate valid data or copy stale bytes. Similarly, sof_ipc3_bytes_get() checks data->size against max_size without accounting for the sizeof(struct sof_ipc_ctrl_data) offset of the flex array within the allocation. Fix bytes_put to validate and use the incoming data's sof_abi_hdr.size from ucontrol before copying. Fix bytes_get to subtract sizeof(*cdata) from the bounds check to match the actual available space.