{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-74297",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2026-74297"
  ],
  "published": "2026-08-15T06:04:33Z",
  "summary": "RDMA/mlx5: Fix undefined shift of user RQ WQE size",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/mlx5: Fix undefined shift of user RQ WQE size\n\nset_rq_size() computes the RQ WQE size as \"1 << rq_wqe_shift\" based on\nthe user-provided rq_wqe_shift, which is only checked to be greater than\n32, so shifts of 32 are still accepted. A shift of 31 also overflows a\nsigned integer, leading to undefined behavior.\n\nUse check_shl_overflow() to compute the RQ WQE size and reject any\ninvalid values.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.178",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-74297"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/9fff54929cc00849d738faa99f06c32399aeb026"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/b746f949c2ac2b041102836095d6d4a2ef21fa75"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c1dbf52d24a8cb1aa56780ba51b72e7d495f258c"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/6fc874fdfb366bfb11c62e6af9a831c8be59ddda"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/42f3d2c8c18b92ea33e506a38b64f1a8986c2823"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/4b87a2497276a72fd63028e7419abf0fb7ed837b"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/b732db02a2b04cde393638df19de6251ce62a74e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d881d60223aac8fdc12b227d89c76e131e92a9cd"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-17T05:50:24Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:L - Exploitation requires a local ioctl on /dev/infiniband/uverbs to IB_USER_VERBS_CMD_CREATE_QP; malicious rq_wqe_shift is supplied in mlx5_ib_create_qp userspace data, not from remote RDMA/InfiniBand wire traffic.\nAC:L - An attacker with uverbs access can deterministically pass rq_wqe_shift values 31 or 32 in create_qp driver udata; no races or victim state beyond opening the device and issuing the ioctl are required.\nPR:L - Only local access to the RDMA character device is required (typically rdma group membership on HPC/AI cloud GPU nodes), not init-namespace root; this matches basic local user capability rather than administrator privilege.\nUI:N - No victim interaction is needed; the attacker triggers the flaw entirely through their own create_qp ioctl with crafted mlx5_ib_create_qp fields.\nS:U - Impact stays within the kernel and RDMA context of the attacking process/tenant; it is not a VM-hypervisor or cross-security-authority boundary escape despite using a network-capable NIC.\nC:H - Integer overflow/undefined shift can undersize ib_umem registration while hardware is programmed with a huge RQ stride, enabling out-of-bounds DMA reads and kernel/user memory disclosure beyond the registered queue buffer.\nI:H - Corrupted max_gs (e.g. negative from shift 31) bypasses scatter/gather limits in post_recv, and undersized buffers with oversized hardware stride allow out-of-bounds writes and exploitable memory corruption.\nA:H - Undefined signed shifts and inconsistent queue sizing can cause kernel oops/panic during QP setup or later queue operations, and misprogrammed hardware can hang or crash the host under active RDMA use."
    }
  }
}
