FKIE_CVE-2026-93151

Vulnerability from fkie_nvd - Published: 2026-09-17 17:18 - Updated: 2026-10-19 10:17
Summary
In the Linux kernel, the following vulnerability has been resolved: nvmet-rdma: fix response resource leak on queue teardown When an nvme target with rdma transport is removed while I/Os are in flight, a response can be posted but its send completion is never delivered before the connection is torn down. As a result nvmet_rdma_send_done() and nvmet_rdma_release_rsp() are never called for the response, and this leaks the allocated RDMA read/write context and request SGLs. These leaks are recreated by running blktests nvme/061 with the rdma transport and the siw driver. Kernel kmemleak feature reports them as follows: unreferenced object 0xffff88812bc490c0 (size 32): comm "kworker/2:1H", pid 409, jiffies 4307744490 backtrace (crc 89afd339): __kmalloc_noprof+0x5f9/0x890 sgl_alloc_order+0x7b/0x380 nvmet_req_alloc_sgls+0x290/0x4f0 [nvmet] nvmet_rdma_map_sgl_keyed+0x241/0x12e0 [nvmet_rdma] nvmet_rdma_handle_command+0x73e/0xb80 [nvmet_rdma] __ib_process_cq+0x149/0x4c0 [ib_core] ib_cq_poll_work+0x49/0x160 [ib_core] process_one_work+0x8b2/0x1640 worker_thread+0x5fd/0xfe0 kthread+0x367/0x460 ret_from_fork+0x655/0x9d0 ret_from_fork_asm+0x1a/0x30 unreferenced object 0xffff88814bd05e80 (size 64): comm "kworker/3:1H", pid 148, jiffies 4295195428 backtrace (crc e35510cb): __kmalloc_noprof+0x5f9/0x890 rdma_rw_ctx_init+0x333/0x1fa0 [ib_core] nvmet_rdma_map_sgl_keyed+0x5c8/0x12e0 [nvmet_rdma] nvmet_rdma_handle_command+0x73e/0xb80 [nvmet_rdma] __ib_process_cq+0x149/0x4c0 [ib_core] ib_cq_poll_work+0x49/0x160 [ib_core] process_one_work+0x8b2/0x1640 worker_thread+0x5fd/0xfe0 kthread+0x367/0x460 ret_from_fork+0x655/0x9d0 ret_from_fork_asm+0x1a/0x30 To avoid the memory leaks, reclaim the memory of the in-flight responses when the queue QP is torn down. Call nvmet_rdma_free_rsp_resources() that frees up the RDMA read/write context and the request SGLs of such responses.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/target/rdma.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "91cfa74f1f3772e8c3662c064a45d8633e00c78e",
              "status": "affected",
              "version": "8f000cac6e7a6edca7ab93bafc7ed28b27c1545b",
              "versionType": "git"
            },
            {
              "lessThan": "156ec10a8be2c33b0c279d8b2f4fe8e16fa89ef7",
              "status": "affected",
              "version": "8f000cac6e7a6edca7ab93bafc7ed28b27c1545b",
              "versionType": "git"
            },
            {
              "lessThan": "9584b3c30e4ee8ca315bdc12249cc6c47cf1a482",
              "status": "affected",
              "version": "8f000cac6e7a6edca7ab93bafc7ed28b27c1545b",
              "versionType": "git"
            },
            {
              "lessThan": "5cc3b21729d45b5af8f79891f9dedb7e6b6dbd08",
              "status": "affected",
              "version": "8f000cac6e7a6edca7ab93bafc7ed28b27c1545b",
              "versionType": "git"
            },
            {
              "lessThan": "ca795fc1d8a1a4ab0e6bd1d27c9adb78d4ed1a1c",
              "status": "affected",
              "version": "8f000cac6e7a6edca7ab93bafc7ed28b27c1545b",
              "versionType": "git"
            },
            {
              "lessThan": "d553a9dc1c45666e76d8d2ac9a4f8ff0cbf53a50",
              "status": "affected",
              "version": "8f000cac6e7a6edca7ab93bafc7ed28b27c1545b",
              "versionType": "git"
            },
            {
              "lessThan": "0114dd303b373522dea06053aabae34bdd33a7c4",
              "status": "affected",
              "version": "8f000cac6e7a6edca7ab93bafc7ed28b27c1545b",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/nvme/target/rdma.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.8"
            },
            {
              "lessThan": "4.8",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnvmet-rdma: fix response resource leak on queue teardown\n\nWhen an nvme target with rdma transport is removed while I/Os are in\nflight, a response can be posted but its send completion is never\ndelivered before the connection is torn down. As a result\nnvmet_rdma_send_done() and nvmet_rdma_release_rsp() are never called for\nthe response, and this leaks the allocated RDMA read/write context and\nrequest SGLs.\n\nThese leaks are recreated by running blktests nvme/061 with the rdma\ntransport and the siw driver. Kernel kmemleak feature reports them as\nfollows:\n\n  unreferenced object 0xffff88812bc490c0 (size 32):\n    comm \"kworker/2:1H\", pid 409, jiffies 4307744490\n    backtrace (crc 89afd339):\n      __kmalloc_noprof+0x5f9/0x890\n      sgl_alloc_order+0x7b/0x380\n      nvmet_req_alloc_sgls+0x290/0x4f0 [nvmet]\n      nvmet_rdma_map_sgl_keyed+0x241/0x12e0 [nvmet_rdma]\n      nvmet_rdma_handle_command+0x73e/0xb80 [nvmet_rdma]\n      __ib_process_cq+0x149/0x4c0 [ib_core]\n      ib_cq_poll_work+0x49/0x160 [ib_core]\n      process_one_work+0x8b2/0x1640\n      worker_thread+0x5fd/0xfe0\n      kthread+0x367/0x460\n      ret_from_fork+0x655/0x9d0\n      ret_from_fork_asm+0x1a/0x30\n\n  unreferenced object 0xffff88814bd05e80 (size 64):\n    comm \"kworker/3:1H\", pid 148, jiffies 4295195428\n    backtrace (crc e35510cb):\n      __kmalloc_noprof+0x5f9/0x890\n      rdma_rw_ctx_init+0x333/0x1fa0 [ib_core]\n      nvmet_rdma_map_sgl_keyed+0x5c8/0x12e0 [nvmet_rdma]\n      nvmet_rdma_handle_command+0x73e/0xb80 [nvmet_rdma]\n      __ib_process_cq+0x149/0x4c0 [ib_core]\n      ib_cq_poll_work+0x49/0x160 [ib_core]\n      process_one_work+0x8b2/0x1640\n      worker_thread+0x5fd/0xfe0\n      kthread+0x367/0x460\n      ret_from_fork+0x655/0x9d0\n      ret_from_fork_asm+0x1a/0x30\n\nTo avoid the memory leaks, reclaim the memory of the in-flight responses\nwhen the queue QP is torn down. Call nvmet_rdma_free_rsp_resources()\nthat frees up the RDMA read/write context and the request SGLs of such\nresponses."
    }
  ],
  "id": "CVE-2026-93151",
  "lastModified": "2026-10-19T10:17:05.283",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "NETWORK",
          "availabilityImpact": "HIGH",
          "baseScore": 7.5,
          "baseSeverity": "HIGH",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "privilegesRequired": "NONE",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "version": "3.1"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 3.6,
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "type": "Secondary"
      }
    ]
  },
  "published": "2026-09-17T17:18:10.337",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/0114dd303b373522dea06053aabae34bdd33a7c4"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/156ec10a8be2c33b0c279d8b2f4fe8e16fa89ef7"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/5cc3b21729d45b5af8f79891f9dedb7e6b6dbd08"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/91cfa74f1f3772e8c3662c064a45d8633e00c78e"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/9584b3c30e4ee8ca315bdc12249cc6c47cf1a482"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/ca795fc1d8a1a4ab0e6bd1d27c9adb78d4ed1a1c"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/d553a9dc1c45666e76d8d2ac9a4f8ff0cbf53a50"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Received"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
How durations are calculated

Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.

Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.

Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.