Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2022-49530)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-415 Doble liberación
Fecha de publicación:
26/02/2025
Última modificación:
10/03/2025

Descripción

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.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.9.318 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.10 (incluyendo) 4.14.283 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.15 (incluyendo) 4.19.247 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (incluyendo) 5.4.198 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (incluyendo) 5.10.121 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.46 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 5.17.14 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.18 (incluyendo) 5.18.3 (excluyendo)