CVE-2026-80790

Summary

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

nvmet-fc: fix invalid free in LS IOD error path

nvmet_fc_alloc_ls_iodlist() advances iod while initializing the LS IOD array. If an rqstbuf allocation or response buffer DMA mapping fails, the unwind loop decrements iod past the start of the array. The final kfree(iod) therefore frees an address before the allocated object.

This can be reproduced with nvme-fcloop and failslab by setting fail-nth to 6 before creating a target port. KASAN reports:

BUG: KASAN: invalid-free in nvmet_fc_register_targetport Free of addr ffff88816cf8ff48 by task nvmet_fail_nth/9552

Free the original allocation base stored in tgtport->iod instead. With this fix applied, the same sysfs write with fail-nth=6 returns -ENOMEM without any KASAN report.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < b189c6e408896ccc23d2e76d7738847cdebf1532affected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < 449e9c4f8db84ad9d9bb288029b230bcf590faa2affected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < 1a8f007faefe8c226ec65896589f8d59b0a8d5a5affected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < d094582cce9c08516d714e7436a8f3b9211dda90affected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < 371fb1bf902adaa59be32bd7e904a5317e604fd0affected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < 8bce9cd08aae4283badf8ddc11fbb6f57b75a81eaffected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < bb9489f0dce58da730d3479588d6710d7a2c1b45affected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < 94334ea92f4d7535f66f86e33681efa94827eddcaffected
LinuxLinuxc53432030d86429dc9fe5adc3d68cb9d1343b0b2 < ba98d6796d12258e837ece065d2ecb59d76ce4ffaffected
LinuxLinux4.10affected
LinuxLinux0 < 4.10unaffected
LinuxLinux5.10.267 <= 5.10.*unaffected
LinuxLinux5.15.218 <= 5.15.*unaffected
LinuxLinux6.1.185 <= 6.1.*unaffected
LinuxLinux6.6.154 <= 6.6.*unaffected
LinuxLinux6.12.106 <= 6.12.*unaffected
LinuxLinux6.18.47 <= 6.18.*unaffected
LinuxLinux7.1.11 <= 7.1.*unaffected
LinuxLinux7.2.1 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References