GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-53187 (GCVE-0-2026-53187)

Vulnerability from cvelistv5 – Published: 2026-06-25 08:39 – Updated: 2026-08-05 12:33
VLAI
Title
RDMA/core: Validate cpu_id against nr_cpu_ids in DMAH alloc
Summary
In the Linux kernel, the following vulnerability has been resolved: RDMA/core: Validate cpu_id against nr_cpu_ids in DMAH alloc The cpu_id attribute supplied by user space through UVERBS_ATTR_ALLOC_DMAH_CPU_ID is passed directly to cpumask_test_cpu() without first verifying that the value is within the valid CPU range. Passing such untrusted data to cpumask_test_cpu() may lead to an out-of-bounds read of the underlying cpumask bitmap: the helper expands to a test_bit() that indexes the bitmap by cpu_id / BITS_PER_LONG with no bound check. In addition, on kernels built with CONFIG_DEBUG_PER_CPU_MAPS it trips the WARN_ON_ONCE() in cpumask_check(); combined with panic_on_warn this turns a bad user input into a machine reboot. Reject any cpu_id that is not smaller than nr_cpu_ids with -EINVAL before it is used. Reported by Smatch.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: d83edab562a496a42720902a1d2effccd05c37c5 , < bd5e818be7964c1689fba2dad9e6bd3a827fee74 (git)
Affected: d83edab562a496a42720902a1d2effccd05c37c5 , < 0efbb6b54ff56300867027d8e0800d0e32226a20 (git)
Affected: d83edab562a496a42720902a1d2effccd05c37c5 , < 323c98a4ff06aa28114f2bf658fb43eb3b536bbc (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.17
Unaffected: 0 , < 6.17 (semver)
Unaffected: 6.18.36 , ≤ 6.18.* (semver)
Unaffected: 7.0.13 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (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/uverbs_std_types_dmah.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "bd5e818be7964c1689fba2dad9e6bd3a827fee74",
              "status": "affected",
              "version": "d83edab562a496a42720902a1d2effccd05c37c5",
              "versionType": "git"
            },
            {
              "lessThan": "0efbb6b54ff56300867027d8e0800d0e32226a20",
              "status": "affected",
              "version": "d83edab562a496a42720902a1d2effccd05c37c5",
              "versionType": "git"
            },
            {
              "lessThan": "323c98a4ff06aa28114f2bf658fb43eb3b536bbc",
              "status": "affected",
              "version": "d83edab562a496a42720902a1d2effccd05c37c5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/core/uverbs_std_types_dmah.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.17"
            },
            {
              "lessThan": "6.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.36",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.36",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.13",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/core: Validate cpu_id against nr_cpu_ids in DMAH alloc\n\nThe cpu_id attribute supplied by user space through\nUVERBS_ATTR_ALLOC_DMAH_CPU_ID is passed directly to cpumask_test_cpu()\nwithout first verifying that the value is within the valid CPU range.\n\nPassing such untrusted data to cpumask_test_cpu() may lead to an\nout-of-bounds read of the underlying cpumask bitmap: the helper expands\nto a test_bit() that indexes the bitmap by cpu_id / BITS_PER_LONG with\nno bound check.\n\nIn addition, on kernels built with CONFIG_DEBUG_PER_CPU_MAPS it trips\nthe WARN_ON_ONCE() in cpumask_check(); combined with panic_on_warn this\nturns a bad user input into a machine reboot.\n\nReject any cpu_id that is not smaller than nr_cpu_ids with -EINVAL\nbefore it is used.\n\nReported by Smatch."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable path is reached by a local RDMA uverbs ioctl on /dev/infiniband/uverbsN, specifically RDMA_VERBS_IOCTL selecting UVERBS_METHOD_DMAH_ALLOC. It is not exposed by incoming network packets or remote RDMA traffic.\nAC:L - An attacker can supply an out-of-range UVERBS_ATTR_ALLOC_DMAH_CPU_ID directly in one ioctl, with no race or victim-controlled timing requirement. The only deployment prerequisite is an affected RDMA device exposing the DMAH uverbs method.\nPR:L - The uverbs ioctl path has no CAP_* check for DMAH allocation, and RDMA uverbs devices are designed to be usable by non-root users when the device node is accessible. This requires local low-privileged access rather than real administrator privileges.\nUI:N - No victim action is needed after the attacker has local access to the uverbs device. The attacker triggers the bug directly through the ioctl.\nS:U - The bug affects kernel RDMA/core processing within the same host kernel security authority. It does not cross a VM, IOMMU, or separate authorization boundary.\nC:H - The unchecked cpu_id is passed to cpumask_test_cpu(), which expands to test_bit() on current-\u003ecpus_ptr without a bounds check, creating an out-of-bounds kernel memory read. The result influences the returned error/path, making a kernel memory bit oracle defensible.\nI:N - The identified primitive is an out-of-bounds read of a cpumask bitmap and no kernel out-of-bounds write or control-flow corruption was found on the traced path. Passing the value onward only affects TPH steering-tag allocation if the read happens to pass.\nA:H - Large invalid cpu_id values can trigger CONFIG_DEBUG_PER_CPU_MAPS WARN_ON_ONCE(), and with panic_on_warn this reboots the machine. The same unchecked test_bit() can also fault from an out-of-bounds kernel read, making kernel oops/panic availability impact defensible."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:33:54.299Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/bd5e818be7964c1689fba2dad9e6bd3a827fee74"
        },
        {
          "url": "https://git.kernel.org/stable/c/0efbb6b54ff56300867027d8e0800d0e32226a20"
        },
        {
          "url": "https://git.kernel.org/stable/c/323c98a4ff06aa28114f2bf658fb43eb3b536bbc"
        }
      ],
      "title": "RDMA/core: Validate cpu_id against nr_cpu_ids in DMAH alloc",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-53187",
    "datePublished": "2026-06-25T08:39:00.175Z",
    "dateReserved": "2026-06-09T07:44:35.390Z",
    "dateUpdated": "2026-08-05T12:33:54.299Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-53187",
      "date": "2026-09-19",
      "epss": "0.00164",
      "percentile": "0.06062"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/infiniband/core/uverbs_std_types_dmah.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "bd5e818be7964c1689fba2dad9e6bd3a827fee74",
                    "status": "affected",
                    "version": "d83edab562a496a42720902a1d2effccd05c37c5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "0efbb6b54ff56300867027d8e0800d0e32226a20",
                    "status": "affected",
                    "version": "d83edab562a496a42720902a1d2effccd05c37c5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "323c98a4ff06aa28114f2bf658fb43eb3b536bbc",
                    "status": "affected",
                    "version": "d83edab562a496a42720902a1d2effccd05c37c5",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/infiniband/core/uverbs_std_types_dmah.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.17"
                  },
                  {
                    "lessThan": "6.17",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.36",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.13",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "43D90067-1014-46EC-861E-3BAF5F823B65",
                    "versionEndExcluding": "6.18.36",
                    "versionStartIncluding": "6.17",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "6A64BF9F-3BCA-42FD-98CB-8F03474D2B1E",
                    "versionEndExcluding": "7.0.13",
                    "versionStartIncluding": "6.19",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "B1EF7059-E670-45F4-B422-54C40FA86390",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "0D38F0BF-A728-4133-A358-D44A2F7EE6D6",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*",
                    "matchCriteriaId": "EC732D08-5F7B-46D9-B154-E60C7F4F0A97",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*",
                    "matchCriteriaId": "E5910A9D-F60A-409A-B486-FE66BFEBA9B9",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*",
                    "matchCriteriaId": "81DFF19E-9CF8-49C6-8C36-1E4038622933",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:*",
                    "matchCriteriaId": "B0E8FC71-3952-444C-83E9-718DBBBEC615",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc7:*:*:*:*:*:*",
                    "matchCriteriaId": "1039E95A-8CC3-4C88-8FF9-5C08EEB861C9",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/core: Validate cpu_id against nr_cpu_ids in DMAH alloc\n\nThe cpu_id attribute supplied by user space through\nUVERBS_ATTR_ALLOC_DMAH_CPU_ID is passed directly to cpumask_test_cpu()\nwithout first verifying that the value is within the valid CPU range.\n\nPassing such untrusted data to cpumask_test_cpu() may lead to an\nout-of-bounds read of the underlying cpumask bitmap: the helper expands\nto a test_bit() that indexes the bitmap by cpu_id / BITS_PER_LONG with\nno bound check.\n\nIn addition, on kernels built with CONFIG_DEBUG_PER_CPU_MAPS it trips\nthe WARN_ON_ONCE() in cpumask_check(); combined with panic_on_warn this\nturns a bad user input into a machine reboot.\n\nReject any cpu_id that is not smaller than nr_cpu_ids with -EINVAL\nbefore it is used.\n\nReported by Smatch."
          }
        ],
        "id": "CVE-2026-53187",
        "lastModified": "2026-07-06T12:41:13.773",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.2,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-06-25T09:16:36.143",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/0efbb6b54ff56300867027d8e0800d0e32226a20"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/323c98a4ff06aa28114f2bf658fb43eb3b536bbc"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/bd5e818be7964c1689fba2dad9e6bd3a827fee74"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-787"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-05T14:32:06+00:00",
      "cve": "CVE-2026-53187",
      "id": "CVE-2026-53187",
      "initial_release_date": "2026-06-25T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: RDMA/core: Validate cpu_id against nr_cpu_ids in DMAH alloc",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53187.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-03T23:35:34Z",
      "cve": "CVE-2026-53187",
      "id": "CVE-2026-53187",
      "initial_release_date": "2026-06-26T02:10:45Z",
      "product_status:known_not_affected": "293",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-53187",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-53187.json",
      "version": "6"
    }
  }
}



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…

Detection rules are retrieved from Rulezet.

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…