CVE-2025-40218 mm/damon/vaddr: do not repeat pte_offset_map_lock() until success
A local attacker can cause a system soft lockup and denial of service by triggering an infinite loop in the Linux kernel DAMON module during CPU hotplugging.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-40218?
CVE-2025-40218 is a denial of service vulnerability in Linux, published on 4 Dec 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
mm/damon/vaddr: do not repeat pte_offset_map_lock() until success
DAMON's virtual address space operation set implementation (vaddr) calls pte_offset_map_lock() inside the page table walk callback function. This is for reading and writing page table accessed bits. If pte_offset_map_lock() fails, it retries by returning the page table walk callback function with ACTION_AGAIN.
pte_offset_map_lock() can continuously fail if the target is a pmd migration entry, though. Hence it could cause an infinite page table walk if the migration cannot be done until the page table walk is finished. This indeed caused a soft lockup when CPU hotplugging and DAMON were running in parallel.
Avoid the infinite loop by simply not retrying the page table walk. DAMON is promising only a best-effort accuracy, so missing access to such pages is no problem.
Which versions are affected by CVE-2025-40218?
How do I fix CVE-2025-40218?
Apply the vendor's patch.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-40218 being exploited?
There is no known exploitation of CVE-2025-40218 in the wild and no public exploit code.
Sources
Also known as BELL-CVE-2025-40218, DEBIAN-CVE-2025-40218, GHSA-349m-qg9r-c9hf, ROOT-OS-UBUNTU-2404-CVE-2025-40218, UBUNTU-CVE-2025-40218.