CVE-2026-64063 in Linux
Zusammenfassung
von VulDB • 20.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
netfs: Beheben des Überschreibens von Streaming-Schreibanweisungen
Um zu vermeiden, dass während eines Schreibvorgangs gelesen wird, erlaubt netfslib „Streaming-Schreibungen", bei denen schmutzige Daten (dirty data) direkt in Folios gespeichert werden, ohne diese zuvor auszulesen. Derartige Folios sind als dirty markiert, müssen aber nicht unbedingt als uptodate markiert sein. Wenn ein Folio vollständig durch eine Streaming-Schreibung beschrieben wird, wird uptodate gesetzt; andernfalls ist ihm eine netfs_folio-Struktur an ->private angehängt, die den schmutzigen Bereich protokolliert.
Falls eine teilweise beschriebene Seite einer Streaming-Schreiboperation vollständig durch einen einzelnen write()-Aufruf überschrieben werden soll, versucht netfs_perform_write(), sie zu kopieren, verwirft jedoch das netfs_folio nicht im Erfolgsfall; zudem wird ein teilweiser Kopiervorgang, der einige der schmutzigen Daten überschreibt, nicht korrekt behandelt.
Dies wird durch folgende Maßnahmen behoben:
(1) Wenn das Folio erfolgreich überschrieben wurde, die netfs_folio-Struktur freizugeben, bevor die Seite als uptodate markiert wird.
(2) Falls das Kopieren in das Folio teilweise fehlschlägt, aber nicht den schmutzigen Bereich betrifft, einfach den Kopiervorgang ignorieren.
(3) Wenn der Kopiervorgang teilweise fehlschlägt und einige der schmutzigen Daten überschreibt, die Kopie akzeptieren, die netfs_folio-Struktur aktualisieren, um die neuen Daten zu protokollieren. Ist das Folio nun vollständig gefüllt, ist es freizugeben und uptodate zu setzen; andernfalls einen teilweisen Schreibvorgang zurückzugeben.
Gefunden mit:
fsx -q -N 1000000 -p 10000 -o 128000 -l 600000 \ /xfstest.test/junk --replay-ops=junk.fsxops
unter Verwendung von junk.fsxops als:
truncate 0x0 0 0x927c0 write 0x63fb8 0x53c8 0 copy_range 0xb704 0x19b9 0x24429 0x79380 write 0x2402b 0x144a2 0x90660 * write 0x204d5 0x140a0 0x927c0 * copy_range 0x1f72c 0x137d0 0x7a906 0x927c0 * read 0x00000 0x20000 0x9157c read 0x20000 0x20000 0x9157c read 0x40000 0x20000 0x9157c read 0x60000 0x20000 0x9157c read 0x7e1a0 0xcfb9 0x9157c
auf cifs mit der Standard-Cache-Option.
Dies zeigt, dass Folio 0x24 fehlerhaft reagiert, wenn die FMODE_READ-Prüfung in netfs_perform_write() auskommentiert wird:
if (//(file->f_mode & FMODE_READ) || netfs_is_cache_enabled(ctx)) {
und kein fscache vorhanden ist. Dies wurde ursprünglich mit dem generischen xfstest/522 gefunden.
VulDB is the best source for vulnerability data and more expert information about this specific topic.