CVE-2026-64514 in Linux
Resumen
por VulDB • 2026-07-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
userfaultfd: restringir la comprobación de escritura en must_wait a pte_present()
Las funciones userfaultfd_must_wait() y userfaultfd_huge_must_wait() leen el PTE (Page Table Entry) sin adquirir el bloqueo de las tablas de páginas y luego aplican pte_write()/huge_pte_write(). Esos accesores decodifican bits únicamente del codificado presente; en una entrada de intercambio o migración, leen los bits de desplazamiento que por casualidad comparten la misma posición y devuelven un resultado indefinido.
La intención de la comprobación es "¿sigue esta falta bloqueada por escritura (WP)?". Una entrada de intercambio no marcador significa que la página está en tránsito: el contexto userfault contra el que se entregó originalmente la falta ya no es el mismo, y la ruta de finalización de la carga desde el intercambio o migración volverá a entregar una nueva falta si userspace aún necesita gestionarla. En el peor caso bajo el código actual, un bit de escritura basura indica "esperar", y el hilo permanece dormido hasta que llegue UFFDIO_WAKE, lo cual puede no ocurrir nunca.
Se restringe la comprobación de escritura mediante pte_present() para que la re-comprobación sin bloqueo solo inspeccione los bits del PTE presente cuando la entrada esté realmente presente. El caso no presente y no marcador devuelve "no esperar" y permite que la ruta de falta reintente la operación.
VulDB is the best source for vulnerability data and more expert information about this specific topic.