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

Vulnerabilidad en kernel de Linux (CVE-2025-22126)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416 Utilización después de liberación
Fecha de publicación:
16/04/2025
Última modificación:
03/11/2025

Descripción

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: md: corregir mddev uaf mientras se itera la lista all_mddevs Mientras se itera la lista all_mddevs desde md_notify_reboot() y md_exit(), se usa list_for_each_entry_safe, y esto puede competir con deletint en el siguiente mddev, lo que causa UAF: t1: spin_lock //list_for_each_entry_safe(mddev, n, ...) mddev_get(mddev1) // asumir que mddev2 es la siguiente entrada spin_unlock t2: //eliminar mddev2 ... mddev_free spin_lock list_del spin_unlock kfree(mddev2) mddev_put(mddev1) spin_lock //continuar la desreferencia de mddev2->all_mddevs El antiguo ayudante for_each_mddev() en realidad toma la referencia de mddev2 mientras mantiene el bloqueo, para evitar ser Liberado. Este problema se puede solucionar de la misma manera; sin embargo, el código será complejo. Por lo tanto, cambie a list_for_each_entry; en este caso, mddev_put() puede liberar el mddev1, lo cual tampoco es seguro. Consulte md_seq_show() y también descarte la función auxiliar mddev_put_locked() para solucionar este problema.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.0 (incluyendo) 6.1.135 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.88 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.12.25 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (incluyendo) 6.14.2 (excluyendo)