CVE-2026-31748 PUBLISHED

comedi: me_daq: Fix potential overrun of firmware buffer

Assigner: Linux
Reserved: 09.03.2026 Published: 01.05.2026 Updated: 01.05.2026

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

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to 2fc25a4c2e055cd42ea39a1b42c89bfef70e0319 (excl.)
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to 9f39fa07259eb342908e4aa0271dee038a8ce4f8 (excl.)
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to f3f8ec00cfb8d8e826e30b1138a56355b88e9ba8 (excl.)
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to c16ac4e173a05011437a2d868f70cc415339065a (excl.)
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to 1bf8761eb59e94bf7b8c17b2a1ee48f14378b172 (excl.)
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to a47ae40339c1048f519df33ff8840731720f57cb (excl.)
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to c8c607a77aab783f2e38cc2e0f24aa6c8f6d200b (excl.)
  • affected from 85acac61096f946a78cf0c4b65f7cebe580693b6 to cc797d4821c754c701d9714b58bea947e31dbbe0 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.29 is affected
  • unaffected from 0 to 2.6.29 (excl.)
  • unaffected from 5.10.253 to 5.10.* (incl.)
  • unaffected from 5.15.203 to 5.15.* (incl.)
  • unaffected from 6.1.168 to 6.1.* (incl.)
  • unaffected from 6.6.134 to 6.6.* (incl.)
  • unaffected from 6.12.81 to 6.12.* (incl.)
  • unaffected from 6.18.22 to 6.18.* (incl.)
  • unaffected from 6.19.12 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References