firmware: cs_dsp: Fix overflow checking of wmfw header
3Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackepss 0.3%
exploitation probability
0.3%top 81% of all CVEs
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
firmware: cs_dsp: Fix overflow checking of wmfw header
Fix the checking that firmware file buffer is large enough for the
wmfw header, to prevent overrunning the buffer.
The original code tested that the firmware data buffer contained
enough bytes for the sums of the size of the structs
wmfw_header + wmfw_adsp1_sizes + wmfw_footer
But wmfw_adsp1_sizes is only used on ADSP1 firmware. For ADSP2 and
Halo Core the equivalent struct is wmfw_adsp2_sizes, which is
4 bytes longer. So the length check didn't guarantee that there
are enough bytes in the firmware buffer for a header with
wmfw_adsp2_sizes.
This patch splits the length check into three separate parts. Each
of the wmfw_header, wmfw_adsp?_sizes and wmfw_footer are checked
separately before they are used.
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/3019b86bce16fbb5bc1964f3544d0ce7d0137278https://git.kernel.org/stable/c/49a79f344d0a17c6a5eef53716cc76fcdbfca9bahttps://git.kernel.org/stable/c/9c9877a96e033bf6c6470b3b4f06106d91ace11ehttps://git.kernel.org/stable/c/fd035f0810b33c2a8792effdb82bf35920221565https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html