CVE-2026-68086 in Linuxinfo

Zusammenfassung

von VulDB • 10.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

mm/khugepaged: Schreiben aller schreibgeschützten Datei-Folios beim Zusammenführen (Collapsing)

[Es gibt keinen Upstream-Commit, da dieser Code durch den Upstream-Commit 044925f9b565 („mm: fs: remove filemap_nr_thps*() functions and their users") entfernt wurde]

Derzeit schließen sich khugepaged und das Öffnen von schreibbaren Dateien gegenseitig aus. Eine Datei kann nicht gleichzeitig schreibbar geöffnet sein und THPs (Transparent Huge Pages) aufweisen, da das Dateisystem keine Kenntnis davon hat. Khugepaged wird niemals Seitenebenen für Dateien zusammenführen, die schreibbar geöffnet sind. Bei einem open(O_RDWR/O_WRONLY) wird der Seiten-Cache für diese bestimmte Datei verworfen. Dies ist unbedenklich, da nichts verschmutzt (dirty) worden sein konnte.

Es gibt jedoch einen Sonderfall: collapse_file() mag nicht mit gleichzeitigen Schreibzugriffen koexistieren können, aber es kann mit schmutzigen Folios (von vorherigen Schreibern) koexistieren. Daher kann folgendes Szenario eintreten:

open(file, O_RDWR) write(file) close(file) madvise(file_mapping, MADV_COLLAPSE, some non-dirty range) open(file, O_RDWR) nr_thps > 0 truncate_inode_pages() /* THPs werden gelöscht, aber ebenso die schmutzigen Folios */

Wenn dieser Sonderfall eintritt, kommt es zu Datenverlust, da die schmutzigen Folios vollständig verworfen werden.

Behoben wird dies durch vollständiges Zurückschreiben des Seiten-Caches (und Warten), wenn Datei-THPs zusammengeführt werden. Dies gewährleistet, dass keine schmutzigen Folios beobachtet werden, während aktive THPs vorhanden sind. Um dies sicherzustellen, muss die invalidate_lock gehalten werden, während das Schreiben erfolgt, sodass die Seitencache-Beschneidung in do_dentry_open() dieses Schreib-und-Warten-Vorgang ausschließt.

Als Nebeneffekt wird der Zählerstand von nr_thps außerhalb des i_pages-Locks erhöht. Dies ist korrekt, da der Zähler selbst ein atomic_t ist und die Korrektheit zwischen Produzent und Konsument durch eine vollständige Speicherbarriere gewährleistet wird: smp_mb() in collapse_file()/ implizierte Speicherbarriere durch volle Reihenfolge in get_write_access() -> atomic_inc_unless_negative().

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

30.07.2026

Veröffentlichung

10.08.2026

Moderieren

akzeptiert

Eintrag

VDB-387427

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!