In the Linux kernel, the following vulnerability has been resolved:
nvmet: fix out-of-bounds access in nvmetenableport
When trying to enable a port that has no transport configured yet, nvmetenableport() uses NVMFTRTYPEMAX (255) to query the transports array, causing an out-of-bounds access:
[ 106.058694] BUG: KASAN: global-out-of-bounds in nvmetenableport+0x42/0x1da [ 106.058719] Read of size 8 at addr ffffffff89dafa58 by task ln/632 [...] [ 106.076026] nvmet: transport type 255 not supported
Since commit 200adac75888, NVMFTRTYPEMAX is the default state as configured by nvmetportsmake(). Avoid this by checking for NVMFTRTYPEMAX before proceeding.