CVE-2024-27040: drm/amd/display: Add 'replay' NULL check in 'edp_set_replay_allow_active()'
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: Add 'replay' NULL check in 'edp_set_replay_allow_active()'
In the first if statement, we're checking if 'replay' is NULL. But in
the second if statement, we're not checking if 'replay' is NULL again
before calling replay->funcs->replay_set_power_opt().
if (replay == NULL && force_static)
return false;
...
if (link->replay_settings.replay_feature_enabled &&
replay->funcs->replay_set_power_opt) {
replay->funcs->replay_set_power_opt(replay, *power_opts, panel_inst);
link->replay_settings.replay_power_opt_active = *power_opts;
}
If 'replay' is NULL, this will cause a null pointer dereference.
Fixes the below found by smatch:
drivers/gpu/drm/amd/amdgpu/../display/dc/link/protocols/link_edp_panel_control.c:895 edp_set_replay_allow_active() error: we previously assumed 'replay' could be null (see line 887)
Security readout for executives and security teams
Plain-English summary
CVE-2024-27040 is a Linux kernel AMD display bug that can cause a system crash through a null pointer dereference. The reported impact is availability only, with local access and difficult conditions required. It is more relevant to Linux endpoints using AMD graphics than to typical headless servers.
Executive priority
Treat as routine but real availability risk. It does not indicate data theft or remote compromise, but it can crash affected Linux systems. Patch through normal kernel maintenance, faster for AMD Linux workstations or operational displays.
Technical view
The flaw is in drm/amd/display, specifically edp_set_replay_allow_active(). The code checked whether replay was NULL in one branch, then later dereferenced replay without repeating the check before replay_set_power_opt(). Kernel stable fixes add the missing NULL check.
Likely exposure
Exposure is likely limited to Linux systems using the AMDGPU display stack and embedded DisplayPort Replay-related paths. The source metadata names Linux kernel versions and stable commits, but the supplied version range is not fully self-explanatory.
Exploitation context
The CVSS vector is local, high complexity, low privileges, no user interaction, and high availability impact only. The source bundle says KEV is false and provides no evidence of active exploitation or public weaponization.
Researcher notes
The strongest evidence is the kernel description and stable commit references. The affected-version metadata is terse and partly ambiguous, so validate against downstream distribution advisories before declaring assets vulnerable or fixed.
Mitigation direction
Update affected Linux kernels to vendor builds containing the referenced stable fixes.
Prioritize Linux endpoints with AMD graphics and active display workloads.
Check distribution advisories for exact package names and fixed versions.
If no fixed package is available, follow vendor guidance for temporary risk reduction.
Validation and detection
Inventory Linux kernel versions across AMD graphics endpoints.
Confirm whether AMDGPU display components are present and in use.
Compare deployed kernels with distribution advisories for CVE-2024-27040.
Review crash logs for null dereference traces in AMD display panel control code.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-27040 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.