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

Vulnerabilidad en Linux (CVE-2025-68822)

Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
13/01/2026
Última modificación:
14/01/2026

Descripción

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> Entrada: alps - corrige errores de uso después de liberación causados por dev3_register_work<br /> <br /> El elemento de trabajo retrasado dev3_register_work se inicializa dentro de alps_reconnect() y se programa al recibir el primer paquete PS/2 &amp;#39;bare&amp;#39; de un dispositivo PS/2 externo conectado al touchpad ALPS. Durante la desconexión del dispositivo, la implementación original llama a flush_workqueue() en psmouse_disconnect() para asegurar la finalización de dev3_register_work. Sin embargo, la flush_workqueue() en psmouse_disconnect() solo bloquea y espera por elementos de trabajo que ya estaban en cola en la workqueue antes de su invocación. Cualquier elemento de trabajo enviado después de que se llama a flush_workqueue() no se incluye en el conjunto de tareas que la operación de &amp;#39;flush&amp;#39; espera. Esto significa que después de que flush_workqueue() ha terminado de ejecutarse, el dev3_register_work aún podría programarse. Aunque el estado de psmouse se establece en PSMOUSE_CMD_MODE en psmouse_disconnect(), la programación de dev3_register_work permanece inalterada.<br /> <br /> La condición de carrera puede ocurrir de la siguiente manera:<br /> <br /> CPU 0 (ruta de limpieza) | CPU 1 (trabajo retrasado)<br /> psmouse_disconnect() |<br /> psmouse_set_state() |<br /> flush_workqueue() | alps_report_bare_ps2_packet()<br /> alps_disconnect() | psmouse_queue_work()<br /> kfree(priv); // LIBERAR | alps_register_bare_ps2_mouse()<br /> | priv = container_of(work...); // USAR<br /> | priv-&amp;gt;dev3 // USAR<br /> <br /> Añadir disable_delayed_work_sync() en alps_disconnect() para asegurar que dev3_register_work se cancele correctamente y se impida su ejecución después de que la estructura alps_data haya sido desasignada.<br /> <br /> Este error es identificado por análisis estático.

Impacto