Executive brief
A vulnerability in the Linux kernel's crash dump mechanism can cause the system to hang or become unresponsive during a crash recovery process. In memory-constrained environments, this issue prevents the system from properly freeing memory, which can lead to a permanent freeze of the recovery operation. This impacts the reliability of system diagnostics and automated recovery after a critical failure.
Technical details
A softlockup vulnerability exists in the fs/proc/vmcore.c component of the Linux kernel. The root cause is a lack of scheduling yield points in the second loop of the __read_vmcore function, which is used during kdump operations. In memory-constrained environments, this continuous execution without rescheduling can interfere with RCU (Read-Copy-Update) memory reclamation, leading to a system hang. An attacker with local access could potentially trigger or exacerbate this condition to cause a denial of service during crash recovery. The fix involves adding cond_resched() to the loop to allow the scheduler to yield execution.
Affected products
- Linux Linux Kernel 4.19.317 to 4.20, 5.4.279 to 5.4.290, 5.10.221 to 5.10.234, 5.15.162 to 5.15.177, 6.1.95 to 6.1.127, 6.6.35 to 6.6.74, 6.9.6 to 6.12.11
Timeline
- 2025-01-10: other: Patch authored
- 2025-02-12: disclosed: CVE published
- 2025-02-12: advisory
References
- https://git.kernel.org/stable/c/649b266606bc413407ce315f710c8ce8a88ee30a
- https://git.kernel.org/stable/c/65c367bd9d4f43513c7f837df5753bea9561b836
- https://git.kernel.org/stable/c/80828540dad0757b6337c6561d49c81038f38d87
- https://git.kernel.org/stable/c/80da29deb88a3a907441fc35bb7bac309f31e713
- https://git.kernel.org/stable/c/84c4ed15626574c9ac6c1039ba9c137a77bcc7f2
- https://git.kernel.org/stable/c/a5a2ee8144c3897d37403a69118c3e3dc5713958
- https://git.kernel.org/stable/c/cbc5dde0a461240046e8a41c43d7c3b76d5db952