Skip to content
Fencer Vulns
high 7.8

CVE-2024-46850 json

drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()

published 2024-09-27 2 y ago modified 2026-08-05 3 mo ago also EUVD-2024-42111

cvss
7.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.2%
EPSS 0.2% chance of exploitation in 30 days, percentile 7%
public exploits
0
none known

Summary

In the Linux kernel, the following vulnerability has been resolved:

drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()

dc_state_destruct() nulls the resource context of the DC state. The pipe context passed to dcn35_set_drr() is a member of this resource context.

If dc_state_destruct() is called parallel to the IRQ processing (which calls dcn35_set_drr() at some point), we can end up using already nulled function callback fields of struct stream_resource.

The logic in dcn35_set_drr() already tries to avoid this, by checking tg against NULL. But if the nulling happens exactly after the NULL check and before the next access, then we get a race.

Avoid this by copying tg first to a local variable, and then use this variable for all the operations. This should work, as long as nobody frees the resource pool where the timing generators live.

(cherry picked from commit 0607a50c004798a96e62c089a4c34c220179dcb5)

Patch / fix

  • Linux Linux 6.10.11, 6.11
  • linux Debian 14, Debian 13 6.10.11-1

debian advisories DEBIAN-CVE-2024-46850

  • linux Ubuntu 24.04 LTS 6.8.0-50.51
  • linux-aws Ubuntu 24.04 LTS 6.8.0-1020.22
  • linux-gcp Ubuntu 24.04 LTS 6.8.0-1019.21
  • linux-gke Ubuntu 24.04 LTS 6.8.0-1015.19
  • linux-ibm Ubuntu 24.04 LTS 6.8.0-1017.17
  • linux-azure Ubuntu 24.04 LTS 6.8.0-1020.23
  • linux-gkeop Ubuntu 24.04 LTS 6.8.0-1002.4
  • linux-raspi Ubuntu 24.04 LTS 6.8.0-1016.18

ubuntu advisories UBUNTU-CVE-2024-46850

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2024-46850 updated cvss 4.7

kernel: drm/amd/display: Avoid race between dcn35_set_drr() and dc_state_destruct()

  • Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
no
Technical impact
partial
Assessed
2 y ago

Exploit prediction

0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD 3.1 4.7 CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

Affected products

  • Linux Linux

Classification

Weakness
Technology feeds

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.