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 kernel-cross-headersUpgrade kernel-rt-modules-extraUpgrade kernel-debug-coreUpgrade kernel-64k-modules-coreUpgrade kernel-develUpgrade kernel-rt-debugUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-debug-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-uki-virtUpgrade kernel-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-debugUpgrade kernel-rt-64k-modulesUpgrade kernel-64kUpgrade kernel-64k-develUpgrade rtlaUpgrade kernel-rt-coreUpgrade kernel-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-zfcpdump-develUpgrade kernel-rt-64k-debugUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-64k-modulesUpgrade python3-perfUpgrade kernelUpgrade kernel-headersUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-64k-debug-develUpgrade kernel-debug-develUpgrade libperfUpgrade kernel-64k-modules-extraUpgrade kernel-64k-coreUpgrade kernel-64k-debugUpgrade kernel-docUpgrade kernel-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-64k-debug-develUpgrade bpftoolUpgrade kernel-uki-virtUpgrade kernel-coreUpgrade kernel-rt-64k-modules-coreUpgrade kernel-rt-64k-debug-coreUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-tools-libs-develUpgrade kernel-64k-debug-modules-extraUpgrade rvUpgrade kernel-abi-stablelistsUpgrade kernel-rt-debug-modules-coreUpgrade kernel-devel-matchedUpgrade kernel-tools-libsUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-modulesUpgrade kernel-rtUpgrade kernel-debug-modules-coreUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-rt-64kUpgrade kernel-rt-debug-modulesUpgrade perfUpgrade kernel-rt-modules-coreUpgrade kernel-rt-develUpgrade kernel-zfcpdump-modulesUpgrade kernel-64k-devel-matchedUpgrade kernel-modulesUpgrade kernel-zfcpdumpUpgrade kernel-zfcpdump-coreUpgrade kernel-64k-debug-modules-coreUpgrade kernel-toolsUpgrade kernel-rt-64k-develUpgrade kernel-debug-devel-matchedUpgrade kernel-rt-64k-coreUpgrade kernel-rt-64k-modules-extraUpgrade kernel-debug-modules-extra | Jun 22, 2026 | Jun 19, 2026 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 5, 2026 | Jul 5, 2026 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Jun 22, 2026 | Apr 22, 2026 |
| Rocky_linux | — | Upgrade kernel-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-rt-modulesUpgrade kernel-zfcpdumpUpgrade kernel-rt-debug-modules-coreUpgrade kernel-uki-virtUpgrade libperf-debuginfoUpgrade rvUpgrade kernel-tools-libs-develUpgrade kernel-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-uki-virt-addonsUpgrade kernel-coreUpgrade perf-debuginfoUpgrade kernel-rt-kvmUpgrade kernel-debug-uki-virtUpgrade kernel-rt-develUpgrade kernel-rt-debugUpgrade python3-perfUpgrade kernel-rtUpgrade kernel-toolsUpgrade perfUpgrade kernel-debuginfo-common-s390xUpgrade kernel-rt-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-modules-coreUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-tools-libsUpgrade kernel-debug-modules-extraUpgrade kernel-debug-modules-coreUpgrade kernel-debug-modulesUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-coreUpgrade kernel-debugUpgrade kernel-debug-develUpgrade kernel-debug-devel-matchedUpgrade python3-perf-debuginfoUpgrade kernel-modules-coreUpgrade kernel-zfcpdump-develUpgrade kernel-rt-debug-kvmUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-rt-debug-modulesUpgrade kernel-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernelUpgrade libperfUpgrade rtlaUpgrade kernel-rt-debug-develUpgrade kernel-modules-extra-matchedUpgrade kernel-debug-coreUpgrade kernel-debuginfoUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-modules-extraUpgrade kernel-debug-debuginfoUpgrade kernel-rt-modules-extra | Jun 24, 2026 | Jun 22, 2026 |
| Ubuntu | — | Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1058-oracle-64kUpgrade linux-image-6.8.0-1061-aws-fipsUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1064-gcp-fipsUpgrade linux-image-fips-6.8Upgrade linux-image-gcpUpgrade linux-image-awsUpgrade linux-image-generic-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-aws-fips-6.8Upgrade linux-image-6.8.0-1046-gkeopUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1063-azureUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1059-nvidia-lowlatencyUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-2050-raspi-realtimeUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-azure-6.8Upgrade linux-image-ibm-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-6.8.0-1030-nvidia-tegraUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-gke-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1059-nvidia-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-oracle-64kUpgrade linux-image-gkeUpgrade linux-image-nvidia-tegraUpgrade linux-image-aws-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-oracleUpgrade linux-image-6.8.0-1033-xilinxUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-64kUpgrade linux-image-oem-20.04Upgrade linux-image-oem-22.04aUpgrade linux-image-intel-iotgUpgrade linux-image-ibmUpgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.1-1056-realtimeUpgrade linux-image-6.8.0-1059-gkeUpgrade linux-image-6.8.0-1059-nvidia-lowlatency-64kUpgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1061-raspiUpgrade linux-image-6.8.0-136-lowlatencyUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-oem-20.04dUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-gkeopUpgrade linux-image-gke-64k-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-6.8.0-1059-nvidiaUpgrade linux-image-6.8.0-1059-gke-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-realtime-6.8.1Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-6.8.0-136-fipsUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-136-lowlatency-64kUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-fipsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidiaUpgrade linux-image-nvidia-6.8Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-1063-azure-fipsUpgrade linux-image-6.8.0-1061-awsUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-azure-fde-6.8Upgrade linux-image-azure-fdeUpgrade linux-image-xilinx-6.8Upgrade linux-image-realtimeUpgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-fipsUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-azureUpgrade linux-image-6.8.0-1061-aws-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-1061-ibmUpgrade linux-image-laptop-23.10Upgrade linux-image-6.8.0-1064-gcp-64kUpgrade linux-image-6.8.0-1030-nvidia-tegra-rtUpgrade linux-image-gke-64kUpgrade linux-image-6.8.0-1064-gcpUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-genericUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-raspiUpgrade linux-image-lowlatency-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-6.8.0-1058-oracleUpgrade linux-image-aws-fipsUpgrade linux-image-oem-22.04dUpgrade linux-image-oem-22.04 | 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