Vulnerabilidad en Linux (CVE-2026-23177)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
14/02/2026
Última modificación:
18/02/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
mm, shmem: evitar bucle infinito en una condición de carrera de truncamiento<br />
<br />
Al truncar una entrada de intercambio grande, shmem_free_swap() devuelve 0 cuando el índice de la entrada no coincide con el índice dado debido a la alineación de búsqueda. La ruta de retroceso en caso de fallo comprueba si la entrada cruza el borde final y aborta cuando esto ocurre, por lo que el truncamiento no borrará una entrada o rango inesperado. Pero un escenario fue ignorado.<br />
<br />
Cuando &#39;index&#39; apunta al medio de una entrada de intercambio grande, y la entrada de intercambio grande no cruza el borde final, find_get_entries() devolverá esa entrada de intercambio grande como el primer elemento en el lote con &#39;indices[0]&#39; igual a &#39;index&#39;. El índice base de la entrada será menor que &#39;indices[0]&#39;, por lo que shmem_free_swap() fallará y devolverá 0 debido a la comprobación "base &lt; index". El código entonces llamará a shmem_confirm_swap(), obtendrá el orden, comprobará si cruza el límite END (lo cual no hace), y reintentará con el mismo índice.<br />
<br />
La siguiente iteración encontrará la misma entrada de nuevo en el mismo índice con los mismos índices, lo que lleva a un bucle infinito.<br />
<br />
Solucione esto reintentando con un índice redondeado a la baja, y abortar si el índice es menor que el rango de truncamiento.



