CVE-2026-43120 (GCVE-0-2026-43120)

Vulnerability from cvelistv5 – Published: 2026-05-06 07:40 – Updated: 2026-08-05 12:26
VLAI
Title
RDMA/irdma: Fix double free related to rereg_user_mr
Summary
In the Linux kernel, the following vulnerability has been resolved: RDMA/irdma: Fix double free related to rereg_user_mr If IB_MR_REREG_TRANS is set during rereg_user_mr, the umem will be released and a new one will be allocated in irdma_rereg_mr_trans. If any step of irdma_rereg_mr_trans fails after the new umem is allocated, it releases the umem, but does not set iwmr->region to NULL. The problem is that this failure is propagated to the user, who will then call ibv_dereg_mr (as they should). Then, the dereg_mr path will see a non-NULL umem and attempt to call ib_umem_release again. Fix this by setting iwmr->region to NULL after ib_umem_release. Fixed: 5ac388db27c4 ("RDMA/irdma: Add support to re-register a memory region")
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 715fdb3b30541cc8180b7cdc6aa9f8c307afdf25 , < 62298a48f8b8788ad8b8464e6ffdf1ddebd2217e (git)
Affected: 5ac388db27c443dadfbb0b8b23fa7ccf429d901a , < 66964118f1f50ed85001c8fc9f7ab5bbdd021ee0 (git)
Affected: 5ac388db27c443dadfbb0b8b23fa7ccf429d901a , < 0f22c32141acdcda266b26cab2b830baf870f3e0 (git)
Affected: 5ac388db27c443dadfbb0b8b23fa7ccf429d901a , < 0c5d70bcb9d2275a1c8515a924016fcfeb4ab441 (git)
Affected: 5ac388db27c443dadfbb0b8b23fa7ccf429d901a , < 29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2 (git)
Affected: 6.6.120 , < 6.6.136 (semver)
Create a notification for this product.
Linux Linux Affected: 6.7
Unaffected: 0 , < 6.7 (semver)
Unaffected: 6.6.136 , ≤ 6.6.* (semver)
Unaffected: 6.12.83 , ≤ 6.12.* (semver)
Unaffected: 6.18.24 , ≤ 6.18.* (semver)
Unaffected: 6.19.14 , ≤ 6.19.* (semver)
Unaffected: 7.0 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/hw/irdma/verbs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "62298a48f8b8788ad8b8464e6ffdf1ddebd2217e",
              "status": "affected",
              "version": "715fdb3b30541cc8180b7cdc6aa9f8c307afdf25",
              "versionType": "git"
            },
            {
              "lessThan": "66964118f1f50ed85001c8fc9f7ab5bbdd021ee0",
              "status": "affected",
              "version": "5ac388db27c443dadfbb0b8b23fa7ccf429d901a",
              "versionType": "git"
            },
            {
              "lessThan": "0f22c32141acdcda266b26cab2b830baf870f3e0",
              "status": "affected",
              "version": "5ac388db27c443dadfbb0b8b23fa7ccf429d901a",
              "versionType": "git"
            },
            {
              "lessThan": "0c5d70bcb9d2275a1c8515a924016fcfeb4ab441",
              "status": "affected",
              "version": "5ac388db27c443dadfbb0b8b23fa7ccf429d901a",
              "versionType": "git"
            },
            {
              "lessThan": "29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2",
              "status": "affected",
              "version": "5ac388db27c443dadfbb0b8b23fa7ccf429d901a",
              "versionType": "git"
            },
            {
              "lessThan": "6.6.136",
              "status": "affected",
              "version": "6.6.120",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/infiniband/hw/irdma/verbs.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.7"
            },
            {
              "lessThan": "6.7",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.136",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.83",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.24",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.14",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.136",
                  "versionStartIncluding": "6.6.120",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.83",
                  "versionStartIncluding": "6.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.24",
                  "versionStartIncluding": "6.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.14",
                  "versionStartIncluding": "6.7",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "6.7",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/irdma: Fix double free related to rereg_user_mr\n\nIf IB_MR_REREG_TRANS is set during rereg_user_mr, the\numem will be released and a new one will be allocated\nin irdma_rereg_mr_trans. If any step of irdma_rereg_mr_trans\nfails after the new umem is allocated, it releases the umem,\nbut does not set iwmr-\u003eregion to NULL. The problem is that\nthis failure is propagated to the user, who will then call\nibv_dereg_mr (as they should). Then, the dereg_mr path will\nsee a non-NULL umem and attempt to call ib_umem_release again.\n\nFix this by setting iwmr-\u003eregion to NULL after ib_umem_release.\n\nFixed: 5ac388db27c4 (\"RDMA/irdma: Add support to re-register a memory region\")"
        }
      ],
      "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 vulnerable path is reached through local RDMA uverbs operations on `/dev/infiniband/uverbs*`, specifically MR re-registration and deregistration. Remote RDMA/iWARP traffic does not invoke this userspace verbs callback.\nAC:L - No race or victim state is required; the same local process controls the MR, the `IB_MR_REREG_TRANS` request, and the subsequent deregistration that triggers the second release. Post-allocation failure can be induced through controlled MR parameters or irdma resource exhaustion, and uncertainty is resolved toward the higher severity option.\nPR:L - The attacker needs local access to an RDMA uverbs device and enough normal memlock allowance to register user memory, but the path does not require real root or administrative capabilities. RDMA core checks object ownership/netns access, not a high-privilege capability gate.\nUI:N - After obtaining local access, the attacker can issue the uverbs commands directly. No victim user action is required.\nS:U - The bug corrupts kernel memory within the same host kernel security authority. It is not a guest-to-host escape or other cross-scope boundary bypass.\nC:H - The stale `ib_umem` pointer creates a kernel heap use-after-free/double-free condition, and the second `ib_umem_release()` dereferences freed object fields. Such memory corruption can be leveraged for kernel information disclosure.\nI:H - The double release can corrupt allocator state and operate on attacker-reused `struct ib_umem` contents, providing a plausible path to arbitrary kernel memory corruption or code execution. Kernel UAF/double-free is therefore scored as high integrity impact.\nA:H - The second release of the same umem can crash or panic the kernel through invalid scatter-gather, DMA unmap, page unpin, refcount, or allocator operations. This gives high availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:26:04.967Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/62298a48f8b8788ad8b8464e6ffdf1ddebd2217e"
        },
        {
          "url": "https://git.kernel.org/stable/c/66964118f1f50ed85001c8fc9f7ab5bbdd021ee0"
        },
        {
          "url": "https://git.kernel.org/stable/c/0f22c32141acdcda266b26cab2b830baf870f3e0"
        },
        {
          "url": "https://git.kernel.org/stable/c/0c5d70bcb9d2275a1c8515a924016fcfeb4ab441"
        },
        {
          "url": "https://git.kernel.org/stable/c/29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2"
        }
      ],
      "title": "RDMA/irdma: Fix double free related to rereg_user_mr",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-43120",
    "datePublished": "2026-05-06T07:40:43.923Z",
    "dateReserved": "2026-05-01T14:12:55.987Z",
    "dateUpdated": "2026-08-05T12:26:04.967Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-43120",
      "date": "2026-08-08",
      "epss": "0.00122",
      "percentile": "0.02357"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-43120\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-05-06T10:16:25.913\",\"lastModified\":\"2026-06-17T10:48:58.427\",\"vulnStatus\":\"Analyzed\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nRDMA/irdma: Fix double free related to rereg_user_mr\\n\\nIf IB_MR_REREG_TRANS is set during rereg_user_mr, the\\numem will be released and a new one will be allocated\\nin irdma_rereg_mr_trans. If any step of irdma_rereg_mr_trans\\nfails after the new umem is allocated, it releases the umem,\\nbut does not set iwmr-\u003eregion to NULL. The problem is that\\nthis failure is propagated to the user, who will then call\\nibv_dereg_mr (as they should). Then, the dereg_mr path will\\nsee a non-NULL umem and attempt to call ib_umem_release again.\\n\\nFix this by setting iwmr-\u003eregion to NULL after ib_umem_release.\\n\\nFixed: 5ac388db27c4 (\\\"RDMA/irdma: Add support to re-register a memory region\\\")\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/infiniband/hw/irdma/verbs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"715fdb3b30541cc8180b7cdc6aa9f8c307afdf25\",\"lessThan\":\"62298a48f8b8788ad8b8464e6ffdf1ddebd2217e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5ac388db27c443dadfbb0b8b23fa7ccf429d901a\",\"lessThan\":\"66964118f1f50ed85001c8fc9f7ab5bbdd021ee0\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5ac388db27c443dadfbb0b8b23fa7ccf429d901a\",\"lessThan\":\"0f22c32141acdcda266b26cab2b830baf870f3e0\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5ac388db27c443dadfbb0b8b23fa7ccf429d901a\",\"lessThan\":\"0c5d70bcb9d2275a1c8515a924016fcfeb4ab441\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5ac388db27c443dadfbb0b8b23fa7ccf429d901a\",\"lessThan\":\"29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"6.6.120\",\"lessThan\":\"6.6.136\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/infiniband/hw/irdma/verbs.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"6.7\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"6.7\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.136\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.83\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18.24\",\"lessThanOrEqual\":\"6.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.19.14\",\"lessThanOrEqual\":\"6.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.0\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-415\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.6.120\",\"versionEndExcluding\":\"6.6.136\",\"matchCriteriaId\":\"47055228-C2D7-4465-A276-87525D39743D\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.83\",\"matchCriteriaId\":\"7F0AE5B5-23AC-4DCC-B37A-51CA1DAE7BA8\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.18.24\",\"matchCriteriaId\":\"8126B8B8-6D0B-4443-86C1-672AEE893555\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.19\",\"versionEndExcluding\":\"6.19.14\",\"matchCriteriaId\":\"D6A8A074-BBF4-4803-ABED-519A839435BB\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"F253B622-8837-4245-BCE5-A7BF8FC76A16\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"4AE85AD8-4641-4E7C-A2F4-305E2CD9EE64\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*\",\"matchCriteriaId\":\"F666C8D8-6538-46D4-B318-87610DE64C34\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*\",\"matchCriteriaId\":\"02259FDA-961B-47BC-AE7F-93D7EC6E90C2\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*\",\"matchCriteriaId\":\"58A9FEFF-C040-420D-8F0A-BFDAAA1DF258\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0c5d70bcb9d2275a1c8515a924016fcfeb4ab441\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/0f22c32141acdcda266b26cab2b830baf870f3e0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/29a3edd7004bb635d299fb9bc6f0ea4ef13ed5a2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/62298a48f8b8788ad8b8464e6ffdf1ddebd2217e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/66964118f1f50ed85001c8fc9f7ab5bbdd021ee0\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-02T12:50:09+00:00",
      "cve": "CVE-2026-43120",
      "id": "CVE-2026-43120",
      "initial_release_date": "2026-05-06T00:00:00+00:00",
      "product_status:known_affected": "232",
      "product_status:known_not_affected": "42",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: RDMA/irdma: Fix double free related to rereg_user_mr",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43120.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-07-24T02:28:15Z",
      "cve": "CVE-2026-43120",
      "id": "CVE-2026-43120",
      "initial_release_date": "2026-05-07T02:17:59Z",
      "product_status:first_fixed": "24",
      "product_status:known_affected": "394",
      "product_status:known_not_affected": "196",
      "product_status:recommended": "268",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-43120",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-43120.json",
      "version": "17"
    }
  }
}



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…

Loading…