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

Vulnerabilidad en Linux (CVE-2025-71079)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
13/01/2026
Última modificación:
25/03/2026

Descripción

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> net: nfc: corrige interbloqueo entre nfc_unregister_device y rfkill_fop_write<br /> <br /> Puede ocurrir un interbloqueo entre nfc_unregister_device() y rfkill_fop_write() debido a la inversión del orden de bloqueo entre device_lock y rfkill_global_mutex.<br /> <br /> El orden de bloqueo problemático es:<br /> <br /> Hilo A (rfkill_fop_write):<br /> rfkill_fop_write()<br /> mutex_lock(&amp;amp;rfkill_global_mutex)<br /> rfkill_set_block()<br /> nfc_rfkill_set_block()<br /> nfc_dev_down()<br /> device_lock(&amp;amp;dev-&amp;gt;dev) &amp;lt;- espera por device_lock<br /> <br /> Hilo B (nfc_unregister_device):<br /> nfc_unregister_device()<br /> device_lock(&amp;amp;dev-&amp;gt;dev)<br /> rfkill_unregister()<br /> mutex_lock(&amp;amp;rfkill_global_mutex) &amp;lt;- espera por rfkill_global_mutex<br /> <br /> Esto crea un escenario clásico de interbloqueo ABBA.<br /> <br /> Soluciona esto moviendo rfkill_unregister() y rfkill_destroy() fuera de la sección crítica de device_lock. Almacena el puntero rfkill en una variable local antes de liberar el bloqueo, luego llama a rfkill_unregister() después de liberar device_lock.<br /> <br /> Este cambio es seguro porque rfkill_fop_write() mantiene rfkill_global_mutex mientras llama a las retrollamadas de rfkill, y rfkill_unregister() también adquiere rfkill_global_mutex antes de la limpieza. Por lo tanto, rfkill_unregister() esperará a que cualquier retrollamada en curso se complete antes de continuar, y device_del() solo se llama después de que rfkill_unregister() retorna, previniendo cualquier uso después de liberación.<br /> <br /> El orden de bloqueo similar en nfc_register_device() (device_lock -&amp;gt; rfkill_global_mutex a través de rfkill_register) es seguro porque durante el registro el dispositivo aún no está en rfkill_list, por lo que no pueden ocurrir operaciones rfkill concurrentes en este dispositivo.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.4.293 (incluyendo) 4.5 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.9.291 (incluyendo) 4.10 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.14.256 (incluyendo) 4.15 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19.218 (incluyendo) 4.20 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.4.162 (incluyendo) 5.5 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.82 (incluyendo) 5.10.248 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.5 (incluyendo) 5.15.198 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16.1 (incluyendo) 6.1.160 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.120 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.12.64 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13 (incluyendo) 6.18.4 (excluyendo)
cpe:2.3:o:linux:linux_kernel:5.16:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc3:*:*:*:*:*:*