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

Vulnerabilidad en kernel de Linux (CVE-2024-42319)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
17/08/2024
Última modificación:
03/11/2025

Descripción

En el kernel de Linux, se resolvió la siguiente vulnerabilidad: buzón: mtk-cmdq: mover devm_mbox_controller_register() después de devm_pm_runtime_enable() Cuando mtk-cmdq se desvincula, aparece un mensaje WARN_ON con la condición pm_runtime_get_sync() < 0. De acuerdo con el seguimiento de llamadas a continuación: cmdq_mbox_shutdown mbox_free_channel mbox_controller_unregister __devm_mbox_controller_unregister ... Se puede deducir que la causa raíz es llamar a pm_runtime_get_sync() después de llamar a pm_runtime_disable() como se observa a continuación: 1. El controlador CMDQ usa devm_mbox_controller_register() en cmdq_probe() para vincular el cmdq al mbox_controller, por lo que devm_mbox_controller_unregister() cancelará automáticamente el registro del dispositivo vinculado al controlador del buzón cuando se elimine el recurso administrado por el dispositivo. Eso significa que devm_mbox_controller_unregister() y cmdq_mbox_shoutdown() serán llamados después de cmdq_remove(). 2. El controlador CMDQ también usa devm_pm_runtime_enable() en cmdq_probe() después de devm_mbox_controller_register(), por lo que se llamará a devm_pm_runtime_disable() después de cmdq_remove(), pero antes de devm_mbox_controller_unregister(). Para solucionar este problema, cmdq_probe() necesita mover devm_mbox_controller_register() después de devm_pm_runtime_enable() para que se llame a devm_pm_runtime_disable() después de devm_mbox_controller_unregister().

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19 (incluyendo) 6.1.120 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.64 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.10.3 (excluyendo)