CVE-2022-49530

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

10 Mar 2025, 21:15

Type Values Removed Values Added
First Time Linux linux Kernel
Linux
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: drm/amd/pm: se corrige la doble liberación en si_parse_power_table() En la función si_parse_power_table(), se asigna la matriz adev->pm.dpm.ps y su miembro. Si la asignación de cada miembro falla, la matriz en sí se libera y se devuelve con un código de error. Sin embargo, la matriz se libera más tarde nuevamente en la función si_dpm_fini() que se llama cuando la función devuelve un error. Esto conduce a una posible doble liberación de la matriz adev->pm.dpm.ps, así como a la fuga de sus miembros de matriz, ya que los miembros no se liberan en la función de asignación y la matriz no se anula cuando se libera. Además, adev->pm.dpm.num_ps, que realiza un seguimiento del miembro de la matriz asignado, no se actualiza hasta que la asignación del miembro finaliza correctamente, esto también podría conducir al use-after-free o al acceso a variables no inicializadas en si_dpm_fini(). Solucione esto posponiendo la liberación de la matriz hasta si_dpm_fini() e incremente adev->pm.dpm.num_ps cada vez que se asigne el miembro de la matriz.
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.8
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CWE CWE-415
References () https://git.kernel.org/stable/c/2615464854505188f909d0c07c37a6623693b5c7 - () https://git.kernel.org/stable/c/2615464854505188f909d0c07c37a6623693b5c7 - Patch
References () https://git.kernel.org/stable/c/43eb9b667b95f2a31c63e8949b0d2161b9be59c3 - () https://git.kernel.org/stable/c/43eb9b667b95f2a31c63e8949b0d2161b9be59c3 - Patch
References () https://git.kernel.org/stable/c/6c5bdaa1325be7f04b79ea992ab216739192d342 - () https://git.kernel.org/stable/c/6c5bdaa1325be7f04b79ea992ab216739192d342 - Patch
References () https://git.kernel.org/stable/c/a5ce7051db044290b1a95045ff03c249005a3aa4 - () https://git.kernel.org/stable/c/a5ce7051db044290b1a95045ff03c249005a3aa4 - Patch
References () https://git.kernel.org/stable/c/af832028af6f44c6c45645757079c4ed6884ade5 - () https://git.kernel.org/stable/c/af832028af6f44c6c45645757079c4ed6884ade5 - Patch
References () https://git.kernel.org/stable/c/c0e811c4ccf3b42705976285e3a94cc82dea7300 - () https://git.kernel.org/stable/c/c0e811c4ccf3b42705976285e3a94cc82dea7300 - Patch
References () https://git.kernel.org/stable/c/ca1ce206894dd976275c78ee38dbc19873f22de9 - () https://git.kernel.org/stable/c/ca1ce206894dd976275c78ee38dbc19873f22de9 - Patch
References () https://git.kernel.org/stable/c/f3fa2becf2fc25b6ac7cf8d8b1a2e4a86b3b72bd - () https://git.kernel.org/stable/c/f3fa2becf2fc25b6ac7cf8d8b1a2e4a86b3b72bd - Patch
References () https://git.kernel.org/stable/c/fd2eff8b9dcbe469c3b7bbbc7083ab5ed94de07b - () https://git.kernel.org/stable/c/fd2eff8b9dcbe469c3b7bbbc7083ab5ed94de07b - Patch

26 Feb 2025, 07:01

Type Values Removed Values Added
New CVE

Information

Published : 2025-02-26 07:01

Updated : 2025-03-10 21:15


NVD link : CVE-2022-49530

Mitre link : CVE-2022-49530

CVE.ORG link : CVE-2022-49530


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-415

Double Free