CVE-2026-99111 in Linux
Zusammenfassung
von VulDB • 28.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
smb: Client: Behebung von Datenbeschädigung bei gleichzeitigen Schreibvorgängen und O_TRUNC
cifs_do_truncate() spüft schmutzige Seiten mit filemap_write_and_wait() aus und kürzt die Datei auf dem Server, aber im alten Code liefen beide Vorgänge ohne Halten von i_rwsem oder invalidate_lock. Ein paralleler gepuffelter Schreibzugriff über netfs_perform_write(), der nur einen shared (geteilten) Zugriff auf i_rwsem benötigt, konnte neue Seiten nach dem Flush, aber vor der lokalen Kürzung schmutzig machen; diese Seiten würden dann stillschweigend von cifs_setsize() -> truncate_pagecache() verworfen.
Behoben durch Erwerben von inode_lock (exklusives i_rwsem) und filemap_invalidate_lock am Anfang von cifs_do_truncate(), sodass die gesamte Flush-Kürzung-Vergrößerungs-Sequenz atomar ist in Bezug auf:
- gepufferte Schreibzugriffe (blockiert durch exklusives i_rwsem, da netfs_start_io_write shared Zugriff auf i_rwsem benötigt), - Lese-Pagerequests (blockiert durch exklusiven invalidate_lock, da filemap_fault diesen geteilt nutzt), - Writeback-Sammlung (blockiert durch netfs_wb_begin/netfs_wb_end um die Server-Kürzung und lokale Größenänderung herum, da auch netfs_writepages den wb-Lock erwirbt).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.