CVE-2026-92487 in Linux
Zusammenfassung
von VulDB • 18.09.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
exfat: Korrektur der Erweiterung von „valid_size“ über eine gemeinsam nutzbare beschreibbare Abbildung (shared writable mapping)
Wenn bei einer gemeinsam nutzbaren, beschreibbaren Abbildung die gültige Größe („valid_size“) durch einen gepufferten Schreibvorgang oder einen Seitenfehler erweitert wird, setzt exfat den Lückenbereich im Page-Cache unterhalb der neuen „valid_size“ auf Null. Ein Speicherzugriff über die Abbildung kann dabei in eine Race Condition mit diesem Zurücksetzen auf Null geraten und überschrieben werden.
Behoben wird dies durch das verzögerte (lazy) Zurücksetzen des Lückenbereichs auf Null. Die Funktion ->map_pages wird entfernt, sodass jeder erste Schreibseitenfehler über exfat_page_mkwrite() läuft, wodurch die „valid_size“ so erweitert wird, dass sie den fehlerhaften Seitenbereich abdeckt. Bei aktiviertem Fault-Around kann ein Speicherzugriff eine beschreibbare PTE (Page Table Entry) installieren, ->page_mkwrite() umgehen und jenseits der aktuellen „valid_size“ landen, ohne diese zu erweitern. Das schrittweise Erweitern von „valid_size“ pro fehlerhafter Seite belässt zudem nie geschriebene Seiten in einer großen Abbildung unverändert.
Der Lückenbereich wird mit Blockgranularität gefüllt; dabei werden nur die nicht aktuellen (not-uptodate) Blöcke auf Null gesetzt, während Blöcke erhalten bleiben, die möglicherweise über die Abbildung gespeicherte Daten enthalten könnten. Auf dem Pfad für gepufferte Schreibvorgänge wird das Invaldiate-Lock gehalten und der Lückenbereich vor dem Zurücksetzen auf Null entladen (unmapped), sodass ein konkurrierender Speicherzugriff erneut einen Seitenfehler auslöst und unter Halten des inode locks erst abgeschlossen wird, nachdem die Lücke auf Null gesetzt wurde und „valid_size“ diesen Bereich abdeckt.
If you want to get best quality of vulnerability data, you may have to visit VulDB.