Skip to content
Heist/ feed
High

RDMA/irdma: Fix out-of-bounds write in irdma_copy_user_pgaddrs

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: RDMA/irdma: Fix out-of-bounds write in irdma_copy_user_pgaddrs The irdma_copy_user_pgaddrs function loops through all of the umem DMA blocks to populate the PBLEs and will stop when either the last DMA block is reached or palloc->total_cnt is reached. The issue is that the logic for checking palloc->total_cnt would only work for non-zero values. When irdma_setup_pbles is called with lvl==0, it calls irdma_copy_user_pgaddrs with palloc->total_cnt==0, which means the only way to break out of the loop is to reach the last umem DMA block, which means it could end up going beyond the fixed size of 4 iwmr->pgaddrmem array that is used in the lvl==0 case. In the case of QP/CQ/SRQ rings, the value of lvl is determined by a separate input (for example, req.cq_pages in the case of a CQ). So, we must perform explicit checking to ensure we don't overflow the pgaddrmem array if the user provides a umem that consists of more blocks than their provided req.cq_pages.

Announced Source revision 1
Original source ↗

CVE-2026-74390

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-74390

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "b48c24c2d710cf34810c555dcef883a3d35a9c08",
        "lessThan": "4780f58672ee6328accd54a95f9c00683477e499",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b48c24c2d710cf34810c555dcef883a3d35a9c08",
        "lessThan": "79a20a8e201a779224b4bf115250a7713bde72c0",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b48c24c2d710cf34810c555dcef883a3d35a9c08",
        "lessThan": "9f8f0d2099e3de1194e37dc933ae0c4206b09aaf",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b48c24c2d710cf34810c555dcef883a3d35a9c08",
        "lessThan": "192a3be0e3759daa24af2841208b074ca6dbaabc",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b48c24c2d710cf34810c555dcef883a3d35a9c08",
        "lessThan": "424d51d33c7541a86934067c2c0538124687fc90",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b48c24c2d710cf34810c555dcef883a3d35a9c08",
        "lessThan": "abd27a977b419d584efa659488c22d2306987b29",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b48c24c2d710cf34810c555dcef883a3d35a9c08",
        "lessThan": "5ebb3ed757be3e04cf803026004aa0beaeb13e9b",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/infiniband/hw/irdma/verbs.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.14"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.14",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.15.212",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.178",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.145",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.97",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.40",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.1.5",
        "versionType": "semver",
        "lessThanOrEqual": "7.1.*"
      },
      {
        "status": "unaffected",
        "version": "7.2",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/infiniband/hw/irdma/verbs.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-74390

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#33133 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement