In the Linux kernel, the following vulnerability has been resolved:
drm/amdkfd: Fix watch_id bounds checking in debug address watch v2
The address watch clear code receives watch_id as an unsigned value (u32), but some helper functions were using a signed int and checked bits by shifting with watch_id.
If a very large watch_id is passed from userspace, it can be converted to a negative value. This can cause invalid shifts and may access memory outside the watch_points array.
drm/amdkfd: Fix watch_id bounds checking in debug address watch v2
Fix this by checking that watch_id is within MAX_WATCH_ADDRESSES before using it. Also use BIT(watch_id) to test and clear bits safely.
This keeps the behavior unchanged for valid watch IDs and avoids undefined behavior for invalid ones.
Fixes the below: drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debug.c:448 kfd_dbg_trap_clear_dev_address_watch() error: buffer overflow 'pdd->watch_points' 4 <= u32max user_rl='0-3,2147483648-u32max' uncapped
drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_debug.c 433 int kfd_dbg_trap_clear_dev_address_watch(struct kfd_process_device *pdd, 434 uint32_t watch_id) 435 { 436 int r; 437 438 if (!kfd_dbg_owns_dev_watch_id(pdd, watch_id))
kfd_dbg_owns_dev_watch_id() doesn't check for negative values so if watch_id is larger than INT_MAX it leads to a buffer overflow. (Negative shifts are undefined).
439 return -EINVAL; 440 441 if (!pdd->dev->kfd->shared_resources.enable_mes) { 442 r = debug_lock_and_unmap(pdd->dev->dqm); 443 if (r) 444 return r; 445 } 446 447 amdgpu_gfx_off_ctrl(pdd->dev->adev, false); --> 448 pdd->watch_points[watch_id] = pdd->dev->kfd2kgd->clear_address_watch( 449 pdd->dev->adev, 450 watch_id);
v2: (as per, Jonathan Kim) - Add early watch_id >= MAX_WATCH_ADDRESSES validation in the set path to match the clear path. - Drop the redundant bounds check in kfd_dbg_owns_dev_watch_id().
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Aug 4, 2026 | May 27, 2026 |
| Rocky_linux | — | Upgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel-rt-debug-develUpgrade perf-debuginfoUpgrade kernel-modulesUpgrade kernel-modules-coreUpgrade libperfUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-debuginfo-common-s390xUpgrade kernel-tools-libs-develUpgrade libperf-debuginfoUpgrade kernel-rt-modules-coreUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-devel-matchedUpgrade kernelUpgrade rtlaUpgrade kernel-debug-develUpgrade kernel-debug-modules-extraUpgrade kernel-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-modules-coreUpgrade perfUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-rt-develUpgrade kernel-debuginfoUpgrade kernel-rt-debug-coreUpgrade kernel-develUpgrade kernel-modules-extraUpgrade rvUpgrade kernel-rt-coreUpgrade kernel-tools-debuginfoUpgrade kernel-rt-debugUpgrade kernel-debug-uki-virtUpgrade kernel-tools-libsUpgrade kernel-uki-virt-addonsUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-rt-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debugUpgrade kernel-debug-modulesUpgrade python3-perfUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-toolsUpgrade kernel-debug-modules-coreUpgrade kernel-debug-coreUpgrade kernel-rt-debug-modulesUpgrade python3-perf-debuginfoUpgrade kernel-rtUpgrade kernel-debug-debuginfo | Aug 24, 2026 | Aug 21, 2026 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1060-awsUpgrade linux-image-6.8.0-1058-nvidia-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-generic-64kUpgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1063-gcpUpgrade linux-image-6.8.0-1029-nvidia-tegra-rtUpgrade linux-image-6.8.1-1055-realtimeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-aws-lts-24.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-xilinx-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-nvidia-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-gcpUpgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-intel-iotgUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-nvidia-64kUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-gkeUpgrade linux-image-gcp-64kUpgrade linux-image-azure-6.8Upgrade linux-image-awsUpgrade linux-image-6.8.0-1058-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1058-gkeUpgrade linux-image-6.8.0-1057-oracle-64kUpgrade linux-image-6.8.0-1057-oracleUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-oem-20.04dUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-kvmUpgrade linux-image-gke-64kUpgrade linux-image-virtualUpgrade linux-image-aws-fipsUpgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-134-genericUpgrade linux-image-raspi-6.8Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-fips-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1060-aws-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-azureUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1060-ibmUpgrade linux-image-oracle-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-generic-64k-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-azure-fde-6.8Upgrade linux-image-6.8.0-2049-raspi-realtimeUpgrade linux-image-6.8.0-1045-gkeopUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-xilinxUpgrade linux-image-virtual-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-laptop-23.10Upgrade linux-image-6.8.0-1063-azureUpgrade linux-image-6.8.0-1062-azure-fipsUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-tegraUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-134-fipsUpgrade linux-image-6.8.0-134-lowlatencyUpgrade linux-image-aws-64kUpgrade linux-image-fipsUpgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-1029-nvidia-tegraUpgrade linux-image-ibmUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gcp-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-6.8.0-134-lowlatency-64kUpgrade linux-image-6.8.0-1063-gcp-fipsUpgrade linux-image-6.8.0-1058-nvidia-lowlatencyUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-134-generic-64kUpgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-oem-22.04 | Jul 2, 2026 | Jul 1, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub