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

Vulnerabilidad en Linux (CVE-2026-23100)

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

Descripción

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> mm/hugetlb: corregir hugetlb_pmd_shared()<br /> <br /> Serie de parches &amp;#39;mm/hugetlb: correcciones para el uso compartido de tablas PMD (incl. el uso de mmu_gather)&amp;#39;, v3.<br /> <br /> Una corrección funcional, una corrección de regresión de rendimiento y dos correcciones de comentarios relacionadas.<br /> <br /> Limpié mi prototipo que compartí recientemente [1] para la corrección de rendimiento, aplazando la mayoría de las limpiezas que tenía en el prototipo para un momento posterior. Mientras hacía eso, identifiqué las otras cosas.<br /> <br /> El objetivo de este conjunto de parches es ser retroportado a árboles estables "bastante" fácilmente. Al menos el parche #1 y #4.<br /> <br /> El parche #1 corrige que hugetlb_pmd_shared() no detecte ningún uso compartido.<br /> El parche #2 + #3 son simples correcciones de comentarios con las que el parche #4 interactúa.<br /> El parche #4 es una corrección para la regresión de rendimiento reportada debido a transmisiones IPI excesivas durante fork()+exit().<br /> <br /> El último parche trata sobre vaciados de TLB, IPIs y mmu_gather.<br /> Léase: complicado<br /> <br /> Hay muchas limpiezas por hacer en el futuro + una optimización razonable en x86. Pero todo eso está fuera del alcance de esta serie.<br /> <br /> Probado en tiempo de ejecución, con un enfoque en corregir la regresión de rendimiento usando el reproductor original [2] en x86.<br /> <br /> Este parche (de 4):<br /> <br /> Cambiamos de usar (erróneamente) el recuento de páginas a un recuento compartido independiente. Ahora, las tablas de páginas compartidas tienen un refcount de 1 (excluyendo referencias especulativas) y en su lugar usan ptdesc-&amp;gt;pt_share_count para identificar el uso compartido.<br /> <br /> No convertimos hugetlb_pmd_shared(), así que ahora mismo, nunca detectaríamos una tabla PMD compartida como tal, porque compartir/dejar de compartir ya no afecta el refcount de una tabla PMD.<br /> <br /> La migración de páginas, como mbind() o migrate_pages(), permitiría migrar folios mapeados en dichas tablas PMD compartidas, aunque los folios no sean exclusivos. En smaps los contabilizaríamos como "privados" aunque sean "compartidos", y estaríamos configurando erróneamente el PM_MMAP_EXCLUSIVE en la interfaz pagemap.<br /> <br /> Corregirlo usando correctamente ptdesc_pmd_is_shared() en hugetlb_pmd_shared().

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.239 (incluyendo) 5.11 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.15.186 (incluyendo) 5.16 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.1.142 (incluyendo) 6.2 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.6.72 (incluyendo) 6.6.127 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.12.9 (incluyendo) 6.12.74 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.13.1 (incluyendo) 6.18.8 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.13:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc7:*:*:*:*:*:*
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:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.19:rc6:*:*:*:*:*:*