{
  "threat_severity" : "Important",
  "public_date" : "2026-05-27T00:00:00Z",
  "bugzilla" : {
    "description" : "kernel: drm/amdkfd: Fix watch_id bounds checking in debug address watch v2",
    "id" : "2482124",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2482124"
  },
  "cvss3" : {
    "cvss3_base_score" : "7.0",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
    "status" : "verified"
  },
  "cwe" : "CWE-681",
  "details" : [ "In the Linux kernel, the following vulnerability has been resolved:\ndrm/amdkfd: Fix watch_id bounds checking in debug address watch v2\nThe address watch clear code receives watch_id as an unsigned value\n(u32), but some helper functions were using a signed int and checked\nbits by shifting with watch_id.\nIf a very large watch_id is passed from userspace, it can be converted\nto a negative value.  This can cause invalid shifts and may access\nmemory outside the watch_points array.\ndrm/amdkfd: Fix watch_id bounds checking in debug address watch v2\nFix this by checking that watch_id is within MAX_WATCH_ADDRESSES before\nusing it.  Also use BIT(watch_id) to test and clear bits safely.\nThis keeps the behavior unchanged for valid watch IDs and avoids\nundefined behavior for invalid ones.\nFixes the below:\ndrivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debug.c:448\nkfd_dbg_trap_clear_dev_address_watch() error: buffer overflow\n'pdd->watch_points' 4 <= u32max user_rl='0-3,2147483648-u32max' uncapped\ndrivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debug.c\n433 int kfd_dbg_trap_clear_dev_address_watch(struct kfd_process_device *pdd,\n434                                         uint32_t watch_id)\n435 {\n436         int r;\n437\n438         if (!kfd_dbg_owns_dev_watch_id(pdd, watch_id))\nkfd_dbg_owns_dev_watch_id() doesn't check for negative values so if\nwatch_id is larger than INT_MAX it leads to a buffer overflow.\n(Negative shifts are undefined).\n439                 return -EINVAL;\n440\n441         if (!pdd->dev->kfd->shared_resources.enable_mes) {\n442                 r = debug_lock_and_unmap(pdd->dev->dqm);\n443                 if (r)\n444                         return r;\n445         }\n446\n447         amdgpu_gfx_off_ctrl(pdd->dev->adev, false);\n--> 448         pdd->watch_points[watch_id] = pdd->dev->kfd2kgd->clear_address_watch(\n449                                                         pdd->dev->adev,\n450                                                         watch_id);\nv2: (as per, Jonathan Kim)\n- Add early watch_id >= MAX_WATCH_ADDRESSES validation in the set path to\nmatch the clear path.\n- Drop the redundant bounds check in kfd_dbg_owns_dev_watch_id().", "A flaw was found in the Linux kernel's AMD KFD (Kernel Fusion Driver) component. A local user could exploit a boundary error in the debug address watch v2 functionality by providing a specially crafted watch_id. This could lead to a buffer overflow, potentially allowing memory access outside of intended bounds and causing system instability or denial of service." ],
  "affected_release" : [ {
    "product_name" : "Red Hat Enterprise Linux 10",
    "release_date" : "2026-08-20T00:00:00Z",
    "advisory" : "RHSA-2026:57251",
    "cpe" : "cpe:/o:redhat:enterprise_linux:10.2",
    "package" : "kernel-0:6.12.0-211.49.1.el10_2"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "release_date" : "2026-08-20T00:00:00Z",
    "advisory" : "RHSA-2026:57252",
    "cpe" : "cpe:/a:redhat:enterprise_linux:9",
    "package" : "kernel-0:5.14.0-687.41.1.el9_8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "release_date" : "2026-08-20T00:00:00Z",
    "advisory" : "RHSA-2026:57252",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9",
    "package" : "kernel-0:5.14.0-687.41.1.el9_8"
  } ],
  "package_state" : [ {
    "product_name" : "Red Hat Enterprise Linux 6",
    "fix_state" : "Under investigation",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:6"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Not affected",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Not affected",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 8",
    "fix_state" : "Not affected",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 8",
    "fix_state" : "Not affected",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "fix_state" : "Affected",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2026-45878\nhttps://nvd.nist.gov/vuln/detail/CVE-2026-45878\nhttps://lore.kernel.org/linux-cve-announce/2026052714-CVE-2026-45878-b59f@gregkh/T" ],
  "name" : "CVE-2026-45878",
  "csaw" : false
}