CVE-2026-31747 PUBLISHED

comedi: me4000: 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: me4000: Fix potential overrun of firmware buffer

me4000_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.

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.

Note: The firmware loading was totally broken before commit ac584af59945 ("staging: comedi: me4000: fix firmware downloading"), but that is the most sensible target for this fix.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to 8ddfe6495c245226a30d8b36e2f4a7aa7712e8d6 (excl.)
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to 64b24b713e1a3ea6624480594b4f8c2ff86502f2 (excl.)
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to f72b5567f7c117b46b4058dc6a0c7554f8565561 (excl.)
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to 1603dd471f47762e9d1f52304edb3e49a7e62655 (excl.)
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to 99f31aa98ab6e3805c455b65bcd01b3d48bdf1a5 (excl.)
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to eae19cab44204537f79146f15a51811b13227c38 (excl.)
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to de3f923ae7d91480ed3ecea1b1e1fc0dc25b597d (excl.)
  • affected from ac584af599452748187cf6d7865b1607c54ee443 to 3fb43a7a5b44713f892c58ead2e5f3a1bc9f4ee7 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 3.19 is affected
  • unaffected from 0 to 3.19 (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