Executive brief
A vulnerability in the Linux kernel's memory management system could cause a system to incorrectly track reserved memory. This occurs when certain memory operations fail, leading to a 'leak' of reserved memory addresses. In practice, this can cause applications to crash unexpectedly with a 'SIGBUS' error when the system is under memory pressure, potentially disrupting operations or services running on the affected machine.
Technical details
A resource management vulnerability exists in mm/hugetlb.c where the kernel fails to restore VMA reservations during error paths in hugetlb folio copy operations. Specifically, when alloc_hugetlb_folio() consumes a reservation and a subsequent call to copy_user_large_folio() fails (e.g., due to -EHWPOISON), the per-VMA reservation map entry remains marked as consumed even though the folio is freed. This affects the UFFDIO_COPY resubmission path and the fork-time Copy-on-Write (CoW) path. An attacker or a failing process can leak these reservations, causing subsequent faults at the same address to fail under pool pressure. The fix involves adding restore_reserve_on_error() before folio_put() in the affected error paths.
Affected products
- Linux Linux 6.4 to 6.9.5
Timeline
- 2026-05-20: disclosed: Initial patch submission by David Carlier
- 2026-05-28: patched: Patch committed to mainline kernel by Andrew Morton
- 2026-06-25: advisory: CVE-2026-53154 published
References
- https://git.kernel.org/stable/c/40c81856e622a9dc59294a90d169ac07ea25b0b0
- https://git.kernel.org/stable/c/45e33d43243d71d089af42f5077b8213cee6610f
- https://git.kernel.org/stable/c/8d6e1dd3ad1340cd8b6d554b7aa93d8f0a1c6d38
- https://git.kernel.org/stable/c/c72469ac0f274bde3f0df60a4584e14a123d0aa6
- https://git.kernel.org/stable/c/e47bf16af3c45470ea32f2241fa69aefe0dd61bd