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

Vulnerabilidad en el kernel de Linux (CVE-2026-23225)

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

Descripción

Se ha resuelto la siguiente vulnerabilidad en el kernel de Linux:<br /> <br /> sched/mmcid: No asumir que el CID es propiedad de la CPU en el cambio de modo<br /> <br /> Shinichiro informó de un KASAN UAF, que en realidad es un acceso fuera de límites en el código de gestión de MMCID.<br /> <br /> CPU0 CPU1<br /> T1 se ejecuta en espacio de usuario<br /> T0: fork(T4) -&amp;gt; Cambio a modo CID por CPU<br /> fixup() establece MM_CID_TRANSIT en T1/CPU1<br /> T4 sale()<br /> T3 sale()<br /> T2 sale()<br /> T1 sale() cambia a modo por tarea<br /> ---&amp;gt; Acceso fuera de límites.<br /> <br /> Como T1 no se ha planificado después de que T0 estableciera el bit TRANSIT, sale con el bit TRANSIT establecido. sched_mm_cid_remove_user() borra el bit TRANSIT en la tarea y elimina el CID, pero no toca el almacenamiento por CPU. Eso es el funcionalmente correcto porque un CID solo es propiedad de la CPU cuando el bit ONCPU está establecido, lo cual es mutuamente excluyente con el indicador TRANSIT.<br /> <br /> Ahora sched_mm_cid_exit() asume que el CID es propiedad de la CPU porque el modo anterior era por CPU. Invoca mm_drop_cid_on_cpu() que borra el bit ONCPU no establecido y luego invoca clear_bit() con un número de bit increíblemente grande porque TRANSIT está establecido (bit 29).<br /> <br /> Evitar eso validando realmente que el CID es propiedad de la CPU en mm_drop_cid_on_cpu().

Impacto

Referencias a soluciones, herramientas e información