CVE-2026-64514 in Linux
Zusammenfassung
von VulDB • 26.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
userfaultfd: Schreibbarkeitsprüfung von must_wait muss an pte_present() gekoppelt werden
userfaultfd_must_wait() und userfaultfd_huge_must_wait() lesen die PTE (Page Table Entry), ohne den Page-Table-Lock zu halten, und wenden anschließend pte_write() bzw. huge_pte_write() darauf an. Diese Zugriffsfunktionen dekodieren nur Bits aus der „Present“-Kodierung; bei einem Swap-Eintrag oder einer Migrationseintragung lesen sie die Offset-Bits, die zufällig dieselbe Position teilen, und geben ein undefiniertes Ergebnis zurück.
Der Zweck der Prüfung ist: „Ist dieser Fault weiterhin durch WP (Write-Protect) blockiert?“ Ein nicht-Marker-Swap-Eintrag bedeutet, dass sich das Page im Transit befindet – der userfaultfd-Kontext, gegen den der ursprüngliche Fault ausgelöst wurde, ist nicht mehr derselbe, und der Pfad zur Fertigstellung des Swap-In oder der Migration wird einen neuen Fault erneut auslösen, falls Userspace diesen weiterhin bearbeiten muss. Im schlimmsten Fall unter dem aktuellen Code signalisiert das Müll-Bit für die Schreibbarkeit „warten“, und der Thread bleibt bis zu einem UFFDIO_WAKE eingeschlafen, das möglicherweise nie eintrifft.
Koppeln Sie die Schreibbarkeitsprüfung an pte_present(), damit die sperrlose Neuprüfung nur Present-PTE-Bits untersucht, wenn der Eintrag tatsächlich vorhanden ist. Der Fall „nicht vorhanden und kein Marker“ gibt „nicht warten“ zurück und lässt den Fault-Pfad erneut versuchen (retry).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.