In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Do not skip unrelated mode changes in DSC validation
Starting with commit 17ce8a6907f7 ("drm/amd/display: Add dsc pre-validation in atomic check"), amdgpu resets the CRTC state mode_changed flag to false when recomputing the DSC configuration results in no timing change for a particular stream.
However, this is incorrect in scenarios where a change in MST/DSC configuration happens in the same KMS commit as another (unrelated) mode change. For example, the integrated panel of a laptop may be configured differently (e.g., HDR enabled/disabled) depending on whether external screens are attached. In this case, plugging in external DP-MST screens may result in the mode_changed flag being dropped incorrectly for the integrated panel if its DSC configuration did not change during precomputation in pre_validate_dsc().
At this point, however, dm_update_crtc_state() has already created new streams for CRTCs with DSC-independent mode changes. In turn, amdgpu_dm_commit_streams() will never release the old stream, resulting in a memory leak. amdgpu_dm_atomic_commit_tail() will never acquire a reference to the new stream either, which manifests as a use-after-free when the stream gets disabled later on:
BUG: KASAN: use-after-free in dc_stream_release+0x25/0x90 [amdgpu] Write of size 4 at addr ffff88813d836524 by task kworker/9:9/29977
Workqueue: events drm_mode_rmfb_work_fn Call Trace: <TASK> dump_stack_lvl+0x6e/0xa0 print_address_description.constprop.0+0x88/0x320 ? dc_stream_release+0x25/0x90 [amdgpu] print_report+0xfc/0x1ff ? srso_alias_return_thunk+0x5/0xfbef5 ? __virt_addr_valid+0x225/0x4e0 ? dc_stream_release+0x25/0x90 [amdgpu] kasan_report+0xe1/0x180 ? dc_stream_release+0x25/0x90 [amdgpu] kasan_check_range+0x125/0x200 dc_stream_release+0x25/0x90 [amdgpu] dc_state_destruct+0x14d/0x5c0 [amdgpu] dc_state_release.part.0+0x4e/0x130 [amdgpu] dm_atomic_destroy_state+0x3f/0x70 [amdgpu] drm_atomic_state_default_clear+0x8ee/0xf30 ? drm_mode_object_put.part.0+0xb1/0x130 __drm_atomic_state_free+0x15c/0x2d0 atomic_remove_fb+0x67e/0x980
Since there is no reliable way of figuring out whether a CRTC has unrelated mode changes pending at the time of DSC validation, remember the value of the mode_changed flag from before the point where a CRTC was marked as potentially affected by a change in DSC configuration. Reset the mode_changed flag to this earlier value instead in pre_validate_dsc().
(cherry picked from commit cc7c7121ae082b7b82891baa7280f1ff2608f22b)
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 |
|---|---|---|---|---|
| Alma_linux | — | Upgrade rvUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-modules-coreUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernel-debug-modules-extraUpgrade kernel-coreUpgrade kernel-rt-64k-debug-coreUpgrade kernel-64k-debugUpgrade kernel-64k-modules-extraUpgrade kernel-64k-coreUpgrade kernel-64k-devel-matchedUpgrade kernel-docUpgrade kernel-rt-64k-debug-develUpgrade kernel-zfcpdump-coreUpgrade kernel-modulesUpgrade kernel-devel-matchedUpgrade kernel-64k-debug-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-modules-coreUpgrade kernel-uki-virt-addonsUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-develUpgrade kernel-rt-debug-modulesUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rtUpgrade kernel-rt-64k-modules-coreUpgrade bpftoolUpgrade kernel-rt-64k-develUpgrade kernel-rt-64k-coreUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libs-develUpgrade kernel-uki-virtUpgrade kernel-zfcpdump-devel-matchedUpgrade perfUpgrade kernel-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-64k-debug-modules-extraUpgrade kernel-rt-64k-modules-extraUpgrade kernel-rt-64kUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-modules-extraUpgrade kernel-64k-debug-coreUpgrade libperfUpgrade kernel-headersUpgrade kernel-cross-headersUpgrade kernel-64k-modules-coreUpgrade kernel-zfcpdump-develUpgrade rtlaUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-rt-debugUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-develUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-develUpgrade kernel-64k-modulesUpgrade kernel-rt-64k-modulesUpgrade kernel-debug-uki-virtUpgrade kernel-rt-coreUpgrade python3-perfUpgrade kernel-debugUpgrade kernel-debug-develUpgrade kernel-64kUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-64k-debug-develUpgrade kernel-rt-64k-debugUpgrade kernel-develUpgrade kernel-debug-coreUpgrade kernel-modules-coreUpgrade kernelUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-rt-debug-core | Jun 22, 2026 | Jun 19, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 5, 2026 | Jul 5, 2026 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Jun 22, 2026 | Apr 22, 2026 |
| Rocky_linux | — | Upgrade kernel-rt-debuginfoUpgrade kernel-modulesUpgrade kernel-zfcpdumpUpgrade kernel-rt-develUpgrade kernel-tools-libs-develUpgrade kernel-debug-uki-virtUpgrade kernel-rt-kvmUpgrade perf-debuginfoUpgrade rvUpgrade kernel-develUpgrade kernel-rt-debug-modules-extraUpgrade perfUpgrade kernel-uki-virtUpgrade kernel-coreUpgrade libperf-debuginfoUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-rtUpgrade kernel-rt-debugUpgrade kernel-tools-debuginfoUpgrade kernel-uki-virt-addonsUpgrade bpftoolUpgrade kernel-zfcpdump-coreUpgrade kernel-debuginfo-common-s390xUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-modules-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-debuginfoUpgrade kernel-devel-matchedUpgrade kernel-debug-modules-coreUpgrade kernel-debug-modulesUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-rt-debug-develUpgrade kernel-modules-extra-matchedUpgrade kernel-debug-coreUpgrade kernelUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-rt-debug-modulesUpgrade kernel-modules-coreUpgrade libperfUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-zfcpdump-develUpgrade rtlaUpgrade kernel-rt-modules-extraUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-tools-libsUpgrade kernel-debug-modules-extraUpgrade kernel-rt-coreUpgrade kernel-debugUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-develUpgrade python3-perf-debuginfoUpgrade kernel-rt-debug-debuginfoUpgrade kernel-modules-extraUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debug-debuginfoUpgrade kernel-rt-modules-core | Jun 24, 2026 | Jun 22, 2026 |
| Ubuntu | — | Upgrade linux-image-realtimeUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-fipsUpgrade linux-image-laptop-23.10Upgrade linux-image-raspi-6.8Upgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-azure-fdeUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-oem-22.04Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-generic-lpaeUpgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-azureUpgrade linux-image-virtual-6.8Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1061-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidiaUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-aws-fipsUpgrade linux-image-realtime-6.8.1Upgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-genericUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-gke-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-136-fipsUpgrade linux-image-aws-6.8Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-raspiUpgrade linux-image-azure-fde-6.8Upgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-6.8.0-1063-azureUpgrade linux-image-oem-22.04bUpgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-virtualUpgrade linux-image-oem-20.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-fipsUpgrade linux-image-fips-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-generic-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-oem-22.04aUpgrade linux-image-raspi-realtimeUpgrade linux-image-generic-64k-6.8Upgrade linux-image-xilinxUpgrade linux-image-gkeUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-oracle-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-gkeop-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcpUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-ibm-classicUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-kvmUpgrade linux-image-ibm-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-oracleUpgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-oem-20.04dUpgrade linux-image-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-aws-64k-6.8Upgrade linux-image-awsUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-64kUpgrade linux-image-ibm | Jul 21, 2026 | Jul 20, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jun 8, 2026 | Apr 22, 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