Description
In the Linux kernel, the following vulnerability has been resolved: comedi: me_daq: Fix potential overrun of firmware buffer `me2600_xilinx_download()` loads the firmware that was requested by `request_firmware()`. It is possible for it to overrun the source buffer because it blindly trusts the file format. It reads a data stream length from the first 4 bytes into variable `file_length` and reads the data stream contents of length `file_length` from offset 16 onwards. Although it checks that the supplied firmware is at least 16 bytes long, it does not check that it is long enough to contain the data stream. Add a test to ensure that the supplied firmware is long enough to contain the header and the data stream. On failure, log an error and return `-EINVAL`.
Product status
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before 2fc25a4c2e055cd42ea39a1b42c89bfef70e0319
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before 9f39fa07259eb342908e4aa0271dee038a8ce4f8
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before f3f8ec00cfb8d8e826e30b1138a56355b88e9ba8
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before c16ac4e173a05011437a2d868f70cc415339065a
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before 1bf8761eb59e94bf7b8c17b2a1ee48f14378b172
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before a47ae40339c1048f519df33ff8840731720f57cb
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before c8c607a77aab783f2e38cc2e0f24aa6c8f6d200b
85acac61096f946a78cf0c4b65f7cebe580693b6 (git) before cc797d4821c754c701d9714b58bea947e31dbbe0
2.6.29
Any version before 2.6.29
5.10.253 (semver)
5.15.203 (semver)
6.1.168 (semver)
6.6.134 (semver)
6.12.81 (semver)
6.18.22 (semver)
6.19.12 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/2fc25a4c2e055cd42ea39a1b42c89bfef70e0319
git.kernel.org/...c/9f39fa07259eb342908e4aa0271dee038a8ce4f8
git.kernel.org/...c/f3f8ec00cfb8d8e826e30b1138a56355b88e9ba8
git.kernel.org/...c/c16ac4e173a05011437a2d868f70cc415339065a
git.kernel.org/...c/1bf8761eb59e94bf7b8c17b2a1ee48f14378b172
git.kernel.org/...c/a47ae40339c1048f519df33ff8840731720f57cb
git.kernel.org/...c/c8c607a77aab783f2e38cc2e0f24aa6c8f6d200b
git.kernel.org/...c/cc797d4821c754c701d9714b58bea947e31dbbe0