CVE-2026-92511 (GCVE-0-2026-92511)

Vulnerability from cvelistv5 – Published: 2026-09-17 16:10 – Updated: 2026-09-18 17:55
VLAI
Title
RDMA/core: Fix potential use after free in ib_destroy_cq_user()
Summary
In the Linux kernel, the following vulnerability has been resolved: RDMA/core: Fix potential use after free in ib_destroy_cq_user() When accessing a CQ via the netlink path the only synchronization mechanism for the said CQ is rdma_restrack_get(). Currently, rdma_restrack_del() is invoked at the end of ib_destroy_cq_user(), which is too late, since by that point vendor-specific resources associated with the CQ might already be freed. This can leave a short window where the CQ remains accessible through restrack, leading to a potential use-after-free. Fix this by moving the rdma_restrack_begin_del() call to the start of ib_destroy_cq_user(), ensuring that the CQ is removed from restrack before its internal resources are released. This guarantees that no new users hold references to a CQ that is in the process of destruction. In addition, this change preserves the intended inverted order between create and destroy routines: resources are added to restrack at the end of successful creation, and hence shall be removed from the restrack first thing during the destruction flow, which keeps the lifecycle management consistent and predictable.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 08f294a1524bc3211a28091daa6c7513828c7d33 , < 42f7a0c7a94003059540cce448acabfa62ad119d (git)
Affected: 08f294a1524bc3211a28091daa6c7513828c7d33 , < 253c2ed71a532c70fa0e64317ceb02bb1a50c84c (git)
Affected: 08f294a1524bc3211a28091daa6c7513828c7d33 , < b85a148731eceffacb6a030950187d785175607f (git)
Affected: 08f294a1524bc3211a28091daa6c7513828c7d33 , < 197c262dbf94c0f7ab7ac54b66f892ce9f343232 (git)
Affected: 08f294a1524bc3211a28091daa6c7513828c7d33 , < 8a72a6aad84b3928dbb5e564bff1f56a7ec222ae (git)
Affected: 08f294a1524bc3211a28091daa6c7513828c7d33 , < 3481bec4dfc4aee24ffea5a547ee95b70b67d9d5 (git)
guessed Create a notification for this product.
Linux Linux Affected: 4.16
Unaffected: 0 , < 4.16 (semver)
Unaffected: 6.1.188 , ≤ 6.1.* (semver)
Unaffected: 6.6.157 , ≤ 6.6.* (semver)
Unaffected: 6.12.110 , ≤ 6.12.* (semver)
Unaffected: 6.18.52 , ≤ 6.18.* (semver)
Unaffected: 7.2.6 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/core/verbs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "42f7a0c7a94003059540cce448acabfa62ad119d",
              "status": "affected",
              "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
              "versionType": "git"
            },
            {
              "lessThan": "253c2ed71a532c70fa0e64317ceb02bb1a50c84c",
              "status": "affected",
              "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
              "versionType": "git"
            },
            {
              "lessThan": "b85a148731eceffacb6a030950187d785175607f",
              "status": "affected",
              "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
              "versionType": "git"
            },
            {
              "lessThan": "197c262dbf94c0f7ab7ac54b66f892ce9f343232",
              "status": "affected",
              "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
              "versionType": "git"
            },
            {
              "lessThan": "8a72a6aad84b3928dbb5e564bff1f56a7ec222ae",
              "status": "affected",
              "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
              "versionType": "git"
            },
            {
              "lessThan": "3481bec4dfc4aee24ffea5a547ee95b70b67d9d5",
              "status": "affected",
              "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/core/verbs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.16"
            },
            {
              "lessThan": "4.16",
              "status": "unaffected",
              "version": "0",
              "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-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.110",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.52",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.6",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "4.16",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/core: Fix potential use after free in ib_destroy_cq_user()\n\nWhen accessing a CQ via the netlink path the only synchronization\nmechanism for the said CQ is rdma_restrack_get().\nCurrently, rdma_restrack_del() is invoked at the end of\nib_destroy_cq_user(), which is too late, since by that point\nvendor-specific resources associated with the CQ might already be\nfreed. This can leave a short window where the CQ remains accessible\nthrough restrack, leading to a potential use-after-free.\n\nFix this by moving the rdma_restrack_begin_del() call to the start of\nib_destroy_cq_user(), ensuring that the CQ is removed from restrack\nbefore its internal resources are released. This guarantees that no new\nusers hold references to a CQ that is in the process of destruction.\n\nIn addition, this change preserves the intended inverted order\nbetween create and destroy routines: resources are added to\nrestrack at the end of successful creation, and hence shall be removed\nfrom the restrack first thing during the destruction flow, which keeps\nthe lifecycle management consistent and predictable."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The UAF is reached by a local IB_USER_VERBS_CMD_DESTROY_CQ/UVERBS_METHOD_CQ_DESTROY on /dev/infiniband/uverbsN (ib_uverbs_destroy_cq \u2192 uobj_get_destroy \u2192 uverbs_free_cq \u2192 ib_destroy_cq_user) racing NETLINK_RDMA RDMA_NLDEV_CMD_RES_CQ_GET (nldev_res_get_cq_doit/dumpit \u2192 rdma_restrack_get_byid/rdma_restrack_get \u2192 fill_res_cq_entry). No remote RoCE/iWARP message carries the trigger.\nAC:L - The attacker drives both sides: one thread destroys their CQ via ib_uverbs_destroy_cq/uverbs_free_cq while another issues RDMA_NLDEV_CMD_RES_CQ_GET. Pre-fix, rdma_restrack_del() ran only after cq-\u003edevice-\u003eops.destroy_cq() returned, so rdma_restrack_get() still succeeds throughout vendor teardown with no victim-controlled timing.\nPR:L - ib_uverbs_open has no CAP_* check and uverbs_devnode sets /dev/infiniband/uverbsN to 0666. RDMA_NLDEV_CMD_RES_CQ_GET is registered without RDMA_NL_ADMIN_PERM, and NETLINK_RDMA unicast to portid 0 does not require CAP_NET_ADMIN, so an unprivileged user on a system with an RDMA device can create, dump, and destroy their own CQ.\nUI:N - The attacker creates the CQ with IB_USER_VERBS_CMD_CREATE_CQ/UVERBS_METHOD_CQ_CREATE, dumps it with RDMA_NLDEV_CMD_RES_CQ_GET, and destroys it with IB_USER_VERBS_CMD_DESTROY_CQ on their own uverbs fd; no other user must mount, open a file, or otherwise act.\nS:U - fill_res_cq_entry and cq-\u003edevice-\u003eops.destroy_cq run in the same host kernel that owns the ib_cq; the dangling vendor CQ state is consumed in-kernel (nldev restrack dump versus ib_destroy_cq_user), not across a KVM/Xen, IOMMU, or other authorization boundary.\nC:H - After ib_destroy_cq_user calls destroy_cq, fill_res_cq_entry still holds the CQ via rdma_restrack_get and invokes vendor fill. c4iw_destroy_cq\u0027s destroy_cq dma_free_coherent()s cq-\u003equeue and kfree()s cq-\u003esw_queue, then c4iw_fill_res_cq_entry copies those CQEs into the netlink skb; hns_roce_fill_res_cq_entry_raw query_cqc()s a CQN after DESTROY_CQC/hns_roce_table_put. That is a UAF read of freed CQ backing store.\nI:H - The same window leaves vendor CQ allocations (c4iw cq-\u003equeue/sw_queue, hns mtr after hns_roce_mtr_destroy, mlx5 cq-\u003ebuf.umem after ib_umem_release, bnxt hwq PBLs after bnxt_qplib_free_hwq) freed while the ib_cq remains in the restrack xarray. Reclaiming those objects while fill_res_cq_entry/vendor ops still run is a UAF write/control-flow primitive.\nA:H - fill_res_cq_entry and vendor fill (c4iw_fill_res_cq_entry dereferencing dma-freed cq-\u003equeue, hns/mlx5/bnxt querying a destroyed CQN) run after destroy_cq has released those resources, so the race oopses the kernel, and repeating create_cq/destroy_cq against concurrent RDMA_NLDEV_CMD_RES_CQ_GET panics the host."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-18T17:55:34.858Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/42f7a0c7a94003059540cce448acabfa62ad119d"
        },
        {
          "url": "https://git.kernel.org/stable/c/253c2ed71a532c70fa0e64317ceb02bb1a50c84c"
        },
        {
          "url": "https://git.kernel.org/stable/c/b85a148731eceffacb6a030950187d785175607f"
        },
        {
          "url": "https://git.kernel.org/stable/c/197c262dbf94c0f7ab7ac54b66f892ce9f343232"
        },
        {
          "url": "https://git.kernel.org/stable/c/8a72a6aad84b3928dbb5e564bff1f56a7ec222ae"
        },
        {
          "url": "https://git.kernel.org/stable/c/3481bec4dfc4aee24ffea5a547ee95b70b67d9d5"
        }
      ],
      "title": "RDMA/core: Fix potential use after free in ib_destroy_cq_user()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-92511",
    "datePublished": "2026-09-17T16:10:21.449Z",
    "dateReserved": "2026-09-16T12:21:13.872Z",
    "dateUpdated": "2026-09-18T17:55:34.858Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-92511",
      "date": "2026-09-29",
      "epss": "0.00171",
      "percentile": "0.05779"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/infiniband/core/verbs.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "42f7a0c7a94003059540cce448acabfa62ad119d",
                    "status": "affected",
                    "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "253c2ed71a532c70fa0e64317ceb02bb1a50c84c",
                    "status": "affected",
                    "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "b85a148731eceffacb6a030950187d785175607f",
                    "status": "affected",
                    "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "197c262dbf94c0f7ab7ac54b66f892ce9f343232",
                    "status": "affected",
                    "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "8a72a6aad84b3928dbb5e564bff1f56a7ec222ae",
                    "status": "affected",
                    "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "3481bec4dfc4aee24ffea5a547ee95b70b67d9d5",
                    "status": "affected",
                    "version": "08f294a1524bc3211a28091daa6c7513828c7d33",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/infiniband/core/verbs.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "4.16"
                  },
                  {
                    "lessThan": "4.16",
                    "status": "unaffected",
                    "version": "0",
                    "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-rc1",
                    "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\nRDMA/core: Fix potential use after free in ib_destroy_cq_user()\n\nWhen accessing a CQ via the netlink path the only synchronization\nmechanism for the said CQ is rdma_restrack_get().\nCurrently, rdma_restrack_del() is invoked at the end of\nib_destroy_cq_user(), which is too late, since by that point\nvendor-specific resources associated with the CQ might already be\nfreed. This can leave a short window where the CQ remains accessible\nthrough restrack, leading to a potential use-after-free.\n\nFix this by moving the rdma_restrack_begin_del() call to the start of\nib_destroy_cq_user(), ensuring that the CQ is removed from restrack\nbefore its internal resources are released. This guarantees that no new\nusers hold references to a CQ that is in the process of destruction.\n\nIn addition, this change preserves the intended inverted order\nbetween create and destroy routines: resources are added to\nrestrack at the end of successful creation, and hence shall be removed\nfrom the restrack first thing during the destruction flow, which keeps\nthe lifecycle management consistent and predictable."
          }
        ],
        "id": "CVE-2026-92511",
        "lastModified": "2026-09-18T18:18:13.837",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-17T17:17:53.850",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/197c262dbf94c0f7ab7ac54b66f892ce9f343232"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/253c2ed71a532c70fa0e64317ceb02bb1a50c84c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3481bec4dfc4aee24ffea5a547ee95b70b67d9d5"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/42f7a0c7a94003059540cce448acabfa62ad119d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/8a72a6aad84b3928dbb5e564bff1f56a7ec222ae"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b85a148731eceffacb6a030950187d785175607f"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-09-22T16:26:29Z",
      "cve": "CVE-2026-92511",
      "id": "CVE-2026-92511",
      "initial_release_date": "2026-09-22T16:26:29Z",
      "product_status:known_affected": "280",
      "product_status:known_not_affected": "67",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-92511",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-92511.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

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.

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.


Loading…