{
  "cveId": "CVE-2021-47615",
  "url": "https://patchblox.com/security/cve/CVE-2021-47615",
  "summary": "CVE-2021-47615 is fixed in linux on 1 platform, first by CVE-2021-47615, released June 19, 2024. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/mlx5: Fix releasing unallocated memory in d...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/mlx5: Fix releasing unallocated memory in dereg MR flow\n\nFor the case of IB_MR_TYPE_DM the mr does doesn\u0027t have a umem, even though\nit is a user MR. This causes function mlx5_free_priv_descs() to think that\nit is a kernel MR, leading to wrongly accessing mr-\u003Edescs that will get\nwrong values in the union which leads to attempt to release resources that\nwere not allocated in the first place.\n\nFor example:\n DMA-API: mlx5_core 0000:08:00.1: device driver tries to free DMA memory it has not allocated [device address=0x0000000000000000] [size=0 bytes]\n WARNING: CPU: 8 PID: 1021 at kernel/dma/debug.c:961 check_unmap\u002B0x54f/0x8b0\n RIP: 0010:check_unmap\u002B0x54f/0x8b0\n Call Trace:\n  debug_dma_unmap_page\u002B0x57/0x60\n  mlx5_free_priv_descs\u002B0x57/0x70 [mlx5_ib]\n  mlx5_ib_dereg_mr\u002B0x1fb/0x3d0 [mlx5_ib]\n  ib_dereg_mr_user\u002B0x60/0x140 [ib_core]\n  uverbs_destroy_uobject\u002B0x59/0x210 [ib_uverbs]\n  uobj_destroy\u002B0x3f/0x80 [ib_uverbs]\n  ib_uverbs_cmd_verbs\u002B0x435/0xd10 [ib_uverbs]\n  ? uverbs_finalize_object\u002B0x50/0x50 [ib_uverbs]\n  ? lock_acquire\u002B0xc4/0x2e0\n  ? lock_acquired\u002B0x12/0x380\n  ? lock_acquire\u002B0xc4/0x2e0\n  ? lock_acquire\u002B0xc4/0x2e0\n  ? ib_uverbs_ioctl\u002B0x7c/0x140 [ib_uverbs]\n  ? lock_release\u002B0x28a/0x400\n  ib_uverbs_ioctl\u002B0xc0/0x140 [ib_uverbs]\n  ? ib_uverbs_ioctl\u002B0x7c/0x140 [ib_uverbs]\n  __x64_sys_ioctl\u002B0x7f/0xb0\n  do_syscall_64\u002B0x38/0x90\n\nFix it by reorganizing the dereg flow and mlx5_ib_mr structure:\n - Move the ib_umem field into the user MRs structure in the union as it\u0027s\n   applicable only there.\n - Function mlx5_ib_dereg_mr() will now call mlx5_free_priv_descs() only\n   in case there isn\u0027t udata, which indicates that this isn\u0027t a user MR.",
  "published": "2024-06-19T15:15:56Z",
  "severity": "medium",
  "cvss": 5.5,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "5.15.15-1",
      "fix": "CVE-2021-47615",
      "url": "https://patchblox.com/security/fix/linux/cve-2021-47615",
      "released": "2024-06-19T15:15:56Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "5.15.15-1",
      "fix": "CVE-2021-47615",
      "url": "https://patchblox.com/security/fix/linux/cve-2021-47615",
      "released": "2024-06-19T15:15:56Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-09T01:18:40Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}