Skip to content
Heist/ feed
Back to feed
UnratedFix available

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

Type: advisorySources: OSV

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.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.10.267, 5.15.218, 6.1.185, 6.12.106, 6.18.47, 6.6.154, 7.1.11, 7.2.1
CVEs
CVE-2026-80790
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 15:21 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 4 Sept 2026, 15:13 UTC

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.

osv:CVE-2026-80790

Kernel

Fixed versions: 5.10.267, 5.15.218, 6.1.185, 6.6.154, 6.12.106, 6.18.47, 7.1.11, 7.2.1

Complete source record
{
  "id": "5377cc1afad9cbedd040e5356a160642ca2262ccca5bf77ce63898e012085f51",
  "url": "https://osv.dev/vulnerability/CVE-2026-80790",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "nvmet-fc: fix invalid free in LS IOD error path",
    "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.",
    "evidence": "osv:CVE-2026-80790",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.10.267",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "5.15.218",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.185",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.154",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.106",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.47",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.1.11",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.2.1",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-80790",
      "aliases": [
        "CVE-2026-80790"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "c53432030d86429dc9fe5adc3d68cb9d1343b0b2"
                },
                {
                  "fixed": "b189c6e408896ccc23d2e76d7738847cdebf1532"
                },
                {
                  "fixed": "449e9c4f8db84ad9d9bb288029b230bcf590faa2"
                },
                {
                  "fixed": "1a8f007faefe8c226ec65896589f8d59b0a8d5a5"
                },
                {
                  "fixed": "d094582cce9c08516d714e7436a8f3b9211dda90"
                },
                {
                  "fixed": "371fb1bf902adaa59be32bd7e904a5317e604fd0"
                },
                {
                  "fixed": "8bce9cd08aae4283badf8ddc11fbb6f57b75a81e"
                },
                {
                  "fixed": "bb9489f0dce58da730d3479588d6710d7a2c1b45"
                },
                {
                  "fixed": "94334ea92f4d7535f66f86e33681efa94827eddc"
                },
                {
                  "fixed": "ba98d6796d12258e837ece065d2ecb59d76ce4ff"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80790.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "4.10.0"
                },
                {
                  "fixed": "5.10.267"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.11.0"
                },
                {
                  "fixed": "5.15.218"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.185"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.154"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.12.106"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.13.0"
                },
                {
                  "fixed": "6.18.47"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.19.0"
                },
                {
                  "fixed": "7.1.11"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "7.2.0"
                },
                {
                  "fixed": "7.2.1"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80790.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:29.723223288Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/1a8f007faefe8c226ec65896589f8d59b0a8d5a5",
        "https://git.kernel.org/stable/c/371fb1bf902adaa59be32bd7e904a5317e604fd0",
        "https://git.kernel.org/stable/c/449e9c4f8db84ad9d9bb288029b230bcf590faa2",
        "https://git.kernel.org/stable/c/8bce9cd08aae4283badf8ddc11fbb6f57b75a81e",
        "https://git.kernel.org/stable/c/94334ea92f4d7535f66f86e33681efa94827eddc",
        "https://git.kernel.org/stable/c/b189c6e408896ccc23d2e76d7738847cdebf1532",
        "https://git.kernel.org/stable/c/ba98d6796d12258e837ece065d2ecb59d76ce4ff",
        "https://git.kernel.org/stable/c/bb9489f0dce58da730d3479588d6710d7a2c1b45",
        "https://git.kernel.org/stable/c/d094582cce9c08516d714e7436a8f3b9211dda90",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80790.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-80790",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80790.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-80790",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 496773,
  "published_at": "2026-09-04T15:13:02.193+00:00"
}