Executive brief
A vulnerability in the Linux kernel's memory management for x86 systems can cause intermittent system crashes or boot failures. This issue occurs when the system fails to properly synchronize internal memory maps, particularly on hardware with large amounts of persistent memory. For businesses, this translates to potential service outages, system instability, and reliability issues on affected servers or industrial controllers.
Technical details
A synchronization issue exists in the x86_64 memory management code of the Linux kernel. Specifically, when using 4-level paging, the kernel failed to properly synchronize page table entries when calling p*d_populate_kernel() because pgd_populate() is a no-op in that configuration. This leads to a race condition or missing mappings where the supervisor attempts to write to a 'not-present' page, resulting in a kernel oops (page fault). The fix introduces ARCH_PAGE_TABLE_SYNC_MASK and arch_sync_kernel_mappings() to ensure synchronization occurs at the P4D level for 4-level paging and PGD level for 5-level paging. This is primarily triggered on systems with large persistent memory ranges or specific vmemmap configurations.
Affected products
- Linux Linux Kernel x86_64 architecture
- Siemens SIMATIC CN 4100 < V5.0
- Siemens SIMATIC S7-1500 CPU 1518-4 PN/DP MFP V3.1.6 and later
Timeline
- 2025-08-18: other: Initial patch authored
- 2025-09-09: patched: Patch committed to stable tree
- 2025-09-19: disclosed: CVE published
References
- https://git.kernel.org/stable/c/26ff568f390a531d1bd792e49f1a401849921960
- https://git.kernel.org/stable/c/5f761d40ee95d2624f839c90ebeef2d5c55007f5
- https://git.kernel.org/stable/c/6659d027998083fbb6d42a165b0c90dc2e8ba989
- https://git.kernel.org/stable/c/6bf9473727569e8283c1e2445c7ac42cf4fc9fa9
- https://git.kernel.org/stable/c/744ff519c72de31344a627eaf9b24e9595aae554
- https://git.kernel.org/stable/c/b7f4051dd3388edd30e9a6077c05c486aa31e0d4
- https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html