{"id":"CVE-2026-93151","revision":"1204db89a8bf4b759b7af902cc2dae15","records":[{"revision":"1204db89a8bf4b759b7af902cc2dae15","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-93151","aliases":[],"title":"nvmet-rdma: fix response resource leak on queue teardown","description":"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.","state":0,"publishedAt":"2026-09-17T16:11:47.559+00:00","modifiedAt":"2026-10-19T09:06:23.53+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/nvme/target/rdma.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"8f000cac6e7a6edca7ab93bafc7ed28b27c1545b\",\n                            \"lessThan\": \"91cfa74f1f3772e8c3662c064a45d8633e00c78e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"8f000cac6e7a6edca7ab93bafc7ed28b27c1545b\",\n                            \"lessThan\": \"156ec10a8be2c33b0c279d8b2f4fe8e16fa89ef7\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"8f000cac6e7a6edca7ab93bafc7ed28b27c1545b\",\n                            \"lessThan\": \"9584b3c30e4ee8ca315bdc12249cc6c47cf1a482\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"8f000cac6e7a6edca7ab93bafc7ed28b27c1545b\",\n                            \"lessThan\": \"5cc3b21729d45b5af8f79891f9dedb7e6b6dbd08\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"8f000cac6e7a6edca7ab93bafc7ed28b27c1545b\",\n                            \"lessThan\": \"ca795fc1d8a1a4ab0e6bd1d27c9adb78d4ed1a1c\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"8f000cac6e7a6edca7ab93bafc7ed28b27c1545b\",\n                            \"lessThan\": \"d553a9dc1c45666e76d8d2ac9a4f8ff0cbf53a50\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"8f000cac6e7a6edca7ab93bafc7ed28b27c1545b\",\n                            \"lessThan\": \"0114dd303b373522dea06053aabae34bdd33a7c4\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/nvme/target/rdma.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.8\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.8\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.221\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.188\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.157\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.110\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.52\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.6\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","score":7.5,"severity":"HIGH"}],"references":["https://git.kernel.org/stable/c/91cfa74f1f3772e8c3662c064a45d8633e00c78e","https://git.kernel.org/stable/c/156ec10a8be2c33b0c279d8b2f4fe8e16fa89ef7","https://git.kernel.org/stable/c/9584b3c30e4ee8ca315bdc12249cc6c47cf1a482","https://git.kernel.org/stable/c/5cc3b21729d45b5af8f79891f9dedb7e6b6dbd08","https://git.kernel.org/stable/c/ca795fc1d8a1a4ab0e6bd1d27c9adb78d4ed1a1c","https://git.kernel.org/stable/c/d553a9dc1c45666e76d8d2ac9a4f8ff0cbf53a50","https://git.kernel.org/stable/c/0114dd303b373522dea06053aabae34bdd33a7c4"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-93151","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-93151","identifiers":["CVE-2026-93151"]},"retained":false,"historicalAffected":[]}],"coverage":[]}