CVE-2026-64514 in Linux
Riassunto
di VulDB • 26/07/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
userfaultfd: limitare il controllo di scrivibilità must_wait a pte_present()
Le funzioni userfaultfd_must_wait() e userfaultfd_huge_must_wait() leggono l'PTE (Page Table Entry) senza acquisire il lock della tabella delle pagine, per poi applicare ad esso le operazioni pte_write() / huge_pte_write(). Tali accessors decodificano i bit solo dall'encoding "present"; su una voce di swap o migrazione, leggono i bit offset che casualmente condividono la stessa posizione e restituiscono un risultato indefinito.
L'intento del controllo è verificare: "questa fault (eccezione) è ancora bloccata da WP (Write Protect)?". Una voce di swap non-marker indica che la pagina è in transito; il contesto userfault originale contro cui era stata generata l'eccezione iniziale non è più lo stesso, e il percorso di completamento dello swap-in o della migrazione ri-genererà una nuova eccezione se userspace deve ancora gestirla. Nel caso peggiore con il codice attuale, un bit di scrittura spurio ("garbage") indica "attendi", facendo rimanere in stato di sleep il thread fino a un evento UFFDIO_WAKE che potrebbe non arrivare mai.
Limitare il controllo di scrivibilità su pte_present() affinché la riesecuzione senza lock ispezioni solo i bit degli PTE presenti quando l'entry è effettivamente presente. Il caso "non-present, non-marker" restituisce "non attendere", consentendo al percorso della fault di effettuare un nuovo tentativo (retry).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.