CVE-2022-49530: drm/amd/pm: fix double free in si_parse_power_table()
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/pm: fix double free in si_parse_power_table()
In function si_parse_power_table(), array adev->pm.dpm.ps and its member
is allocated. If the allocation of each member fails, the array itself
is freed and returned with an error code. However, the array is later
freed again in si_dpm_fini() function which is called when the function
returns an error.
This leads to potential double free of the array adev->pm.dpm.ps, as
well as leak of its array members, since the members are not freed in
the allocation function and the array is not nulled when freed.
In addition adev->pm.dpm.num_ps, which keeps track of the allocated
array member, is not updated until the member allocation is
successfully finished, this could also lead to either use after free,
or uninitialized variable access in si_dpm_fini().
Fix this by postponing the free of the array until si_dpm_fini() and
increment adev->pm.dpm.num_ps everytime the array member is allocated.
Security readout for executives and security teams
Plain-English summary
CVE-2022-49530 is a Linux kernel memory-management flaw in AMD DRM power-management code. Under an error path, the kernel can free the same allocation twice, creating potential for crashes or more serious local compromise. The source rates it high severity with CVSS 7.8.
Executive priority
Prioritize remediation on multi-user Linux systems, workstations, and servers where untrusted local users can run code. This is not described as remotely exploitable in the provided sources, but kernel memory corruption can carry high business impact.
Technical view
The flaw is a CWE-415 double free in si_parse_power_table(). If member allocation fails, adev->pm.dpm.ps can be freed, then freed again later by si_dpm_fini(). The source also notes possible member leaks, use-after-free, or uninitialized access due to num_ps tracking.
Likely exposure
Exposure is most likely on Linux systems running affected kernel versions with the relevant AMD DRM power-management driver code present. The source lists Linux as affected, including kernel lines around 4.9 through 5.19 and stable fix commits.
Exploitation context
The provided CVSS vector is local, low-complexity, low-privilege, and no user interaction. The source bundle does not indicate CISA KEV listing or active exploitation. Treat exploitation evidence as incomplete rather than confirmed.
Researcher notes
Do not assume all AMD or Linux deployments are affected without confirming kernel version, driver presence, and vendor backport status. The public source describes the bug and fixes, but does not provide exploit evidence or distribution-specific patched package names.
Mitigation direction
Prioritize kernel updates from the Linux distribution or kernel vendor.
Verify the relevant stable kernel fix is included before closing remediation.
Check vendor advisories for exact package versions and backports.
Reduce exposure on shared systems by limiting local shell access where feasible.
Validation and detection
Inventory Linux kernel versions across affected hosts.
Identify systems using AMD DRM power-management code.
Compare running kernels against vendor-fixed packages or referenced stable commits.
Review crash logs for AMD DRM or power-management fault patterns.
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.
cwe · low confidence lookup
CWE-415: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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.
1CVSS vectors
3Timeline events
1ADP providers
10Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
1 official score
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.