CVE-2024-46850: Vulnerability in Linux Linux
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)
AI Analysis
Technical Summary
CVE-2024-46850 is a race condition vulnerability identified in the Linux kernel's Direct Rendering Manager (DRM) subsystem, specifically within the AMD display driver code (dcn35_set_drr and dc_state_destruct functions). The vulnerability arises due to a timing issue between the dc_state_destruct() function, which nullifies the resource context of the display controller (DC) state, and the dcn35_set_drr() function, which accesses the pipe context within this resource context during interrupt request (IRQ) processing. If dc_state_destruct() is invoked concurrently with IRQ processing, dcn35_set_drr() may attempt to access function callback pointers that have already been nulled, leading to use-after-null pointer dereferences. The existing mitigation in dcn35_set_drr() checks for NULL pointers, but a race condition exists if the nulling occurs immediately after the NULL check and before the pointer is used. The fix involves copying the timing generator (tg) pointer to a local variable before use, ensuring consistent access during the function execution, assuming the resource pool containing the timing generators is not freed during this period. This vulnerability is subtle and relates to concurrency control within kernel driver code, potentially causing kernel crashes or undefined behavior if exploited. No known exploits are reported in the wild, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to systems running Linux kernels with the affected AMD display driver code, especially those using AMD GPUs in environments where IRQ processing and display state changes occur concurrently. Potential impacts include system instability, kernel panics, or denial of service due to race conditions causing invalid memory access. While this vulnerability does not directly enable privilege escalation or remote code execution, the resulting system crashes could disrupt critical services, particularly in sectors relying on Linux-based infrastructure such as telecommunications, finance, research institutions, and public administration. Organizations with high availability requirements or those operating AMD GPU-accelerated Linux servers or workstations may experience operational disruptions. Given the kernel-level nature, exploitation requires local access and concurrency conditions, limiting remote exploitation but still posing a threat in multi-user or multi-process environments.
Mitigation Recommendations
To mitigate CVE-2024-46850, European organizations should: 1) Apply the official Linux kernel patches that address this race condition as soon as they become available, ensuring the AMD DRM driver code includes the fix that copies the timing generator pointer to a local variable. 2) Maintain up-to-date kernel versions and monitor Linux kernel mailing lists or vendor advisories for backported patches relevant to their distributions. 3) In environments where patching is delayed, consider limiting concurrent operations that trigger IRQ processing and display state changes, if feasible, to reduce race condition likelihood. 4) Employ kernel hardening techniques such as Kernel Address Space Layout Randomization (KASLR) and Kernel Page Table Isolation (KPTI) to reduce attack surface. 5) Monitor system logs for kernel warnings or crashes related to DRM or AMD GPU drivers that might indicate attempts to trigger this race condition. 6) For critical systems, conduct thorough testing of updated kernels in staging environments before deployment to production to avoid regressions.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Poland, Italy, Spain
CVE-2024-46850: Vulnerability in Linux Linux
Description
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)
AI-Powered Analysis
Technical Analysis
CVE-2024-46850 is a race condition vulnerability identified in the Linux kernel's Direct Rendering Manager (DRM) subsystem, specifically within the AMD display driver code (dcn35_set_drr and dc_state_destruct functions). The vulnerability arises due to a timing issue between the dc_state_destruct() function, which nullifies the resource context of the display controller (DC) state, and the dcn35_set_drr() function, which accesses the pipe context within this resource context during interrupt request (IRQ) processing. If dc_state_destruct() is invoked concurrently with IRQ processing, dcn35_set_drr() may attempt to access function callback pointers that have already been nulled, leading to use-after-null pointer dereferences. The existing mitigation in dcn35_set_drr() checks for NULL pointers, but a race condition exists if the nulling occurs immediately after the NULL check and before the pointer is used. The fix involves copying the timing generator (tg) pointer to a local variable before use, ensuring consistent access during the function execution, assuming the resource pool containing the timing generators is not freed during this period. This vulnerability is subtle and relates to concurrency control within kernel driver code, potentially causing kernel crashes or undefined behavior if exploited. No known exploits are reported in the wild, and no CVSS score has been assigned yet.
Potential Impact
For European organizations, this vulnerability poses a risk primarily to systems running Linux kernels with the affected AMD display driver code, especially those using AMD GPUs in environments where IRQ processing and display state changes occur concurrently. Potential impacts include system instability, kernel panics, or denial of service due to race conditions causing invalid memory access. While this vulnerability does not directly enable privilege escalation or remote code execution, the resulting system crashes could disrupt critical services, particularly in sectors relying on Linux-based infrastructure such as telecommunications, finance, research institutions, and public administration. Organizations with high availability requirements or those operating AMD GPU-accelerated Linux servers or workstations may experience operational disruptions. Given the kernel-level nature, exploitation requires local access and concurrency conditions, limiting remote exploitation but still posing a threat in multi-user or multi-process environments.
Mitigation Recommendations
To mitigate CVE-2024-46850, European organizations should: 1) Apply the official Linux kernel patches that address this race condition as soon as they become available, ensuring the AMD DRM driver code includes the fix that copies the timing generator pointer to a local variable. 2) Maintain up-to-date kernel versions and monitor Linux kernel mailing lists or vendor advisories for backported patches relevant to their distributions. 3) In environments where patching is delayed, consider limiting concurrent operations that trigger IRQ processing and display state changes, if feasible, to reduce race condition likelihood. 4) Employ kernel hardening techniques such as Kernel Address Space Layout Randomization (KASLR) and Kernel Page Table Isolation (KPTI) to reduce attack surface. 5) Monitor system logs for kernel warnings or crashes related to DRM or AMD GPU drivers that might indicate attempts to trigger this race condition. 6) For critical systems, conduct thorough testing of updated kernels in staging environments before deployment to production to avoid regressions.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-09-11T15:12:18.290Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9825c4522896dcbe0313
Added to database: 5/21/2025, 9:08:53 AM
Last enriched: 6/28/2025, 6:41:52 PM
Last updated: 8/17/2025, 5:15:54 PM
Views: 12
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.