CVE-2026-80550 PUBLISHED

s390/vfio_ccw: Fix out of bounds check on CCW array

Assigner: Linux
Reserved: 26.08.2026 Published: 26.08.2026 Updated: 26.08.2026

In the Linux kernel, the following vulnerability has been resolved:

s390/vfio_ccw: Fix out of bounds check on CCW array

The routine ccwchain_calc_length() counts the number of channel command words (CCWs) that are chained together in a single channel program, and rejects anything larger than CCWCHAIN_LEN_MAX (256) CCWs.

The loop itself is "do..while (count < 257)", and while the logic in is_cpa_within_range() correctly adjusts between the 0-index array of CCWs and the count of CCWs starting at 1, this means it would look at a possible 257th CCW before ending the loop and (correctly) returning an error.

Fix this by restructuring the loop to break as soon as 256 CCWs (thus indexes 0-255) are examined, without looking at memory outside the range.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to 0282fb1c4b638eecfe2cc558092c460911d8f7e2 (excl.)
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to 907adc667d902fafbdb2d740d57b55bd025dc4cd (excl.)
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to f20be33d093ce7630c17ff7ed93caf7eaf8ac1a3 (excl.)
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to af3f80ca4c8b17f20f9e588def076288fdb49e65 (excl.)
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to 499a8a66b1598bfab97182aed15e0f1646074a3d (excl.)
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to 4c2e1d359d7a2b82cdf3254e4e480af9417f99fb (excl.)
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to d5d096cd9369e986d4e5153baa86b8b35c283e09 (excl.)
  • affected from 0a19e61e6d4c6192077ead760ba0a2d350987d4c to a005b7f1a491ffda61bff0fd0f6548f8986fb977 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 4.12 is affected
  • unaffected from 0 to 4.12 (excl.)
  • unaffected from 5.10.266 to 5.10.* (incl.)
  • unaffected from 5.15.217 to 5.15.* (incl.)
  • unaffected from 6.1.184 to 6.1.* (incl.)
  • unaffected from 6.6.153 to 6.6.* (incl.)
  • unaffected from 6.12.105 to 6.12.* (incl.)
  • unaffected from 6.18.46 to 6.18.* (incl.)
  • unaffected from 7.1.10 to 7.1.* (incl.)
  • unaffected from 7.2 to * (incl.)

References