Executive brief
A vulnerability in the Linux kernel's memory management system could lead to data loss during system live updates. The issue occurs when the system incorrectly identifies memory pages as empty or 'clean' during a transition, allowing the kernel to discard them under memory pressure. This can result in the loss of user data stored in memory-backed files (memfd) when the system is updated or restarted using Live Update (LUO) mechanisms.
Technical details
A logic error in the Linux kernel's memfd Live Update (LUO) preservation mechanism fails to correctly track the 'dirty' status of memory folios. The vulnerability exists because the dirty flag is saved during the preserve() phase, but folios may be modified (dirtied) later before the final freeze. Because the dirty bit from the Page Table Entry (PTE) is typically synced at unmap, the serialized state may incorrectly mark a modified folio as clean. Upon retrieval by a new kernel, these folios are seen as reclaimable, leading to potential data loss if the kernel frees them under memory pressure. The fix involves unconditionally marking all preserved folios as dirty to ensure they are not reclaimed.
Affected products
- Linux Linux Kernel 6.19 to 6.19.9, 7.0-rc1 to 7.0-rc3
Timeline
- 2026-02-23: patched: Initial patch authored
- 2026-05-08: disclosed: CVE published by kernel.org
- 2026-05-08: advisory