CVE-2025-40201 kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths
A race condition in the Linux kernel's sys_prlimit64 function allows attackers to access freed memory, potentially leading to code execution or privilege escalation.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-40201?
CVE-2025-40201 is a high-severity vulnerability in Linux, published on 12 Nov 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:
kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths
The usage of task_lock(tsk->group_leader) in sys_prlimit64()->do_prlimit() path is very broken.
sys_prlimit64() does get_task_struct(tsk) but this only protects task_struct itself. If tsk != current and tsk is not a leader, this process can exit/exec and task_lock(tsk->group_leader) may use the already freed task_struct.
Another problem is that sys_prlimit64() can race with mt-exec which changes ->group_leader. In this case do_prlimit() may take the wrong lock, or (worse) ->group_leader may change between task_lock() and task_unlock().
Change sys_prlimit64() to take tasklist_lock when necessary. This is not nice, but I don't see a better fix for -stable.
Which versions are affected by CVE-2025-40201?
How do I fix CVE-2025-40201?
Apply the vendor's patch.
Is CVE-2025-40201 being exploited?
There is no known exploitation of CVE-2025-40201 in the wild and no public exploit code.
Sources
Also known as AZL-70088, BELL-CVE-2025-40201, DEBIAN-CVE-2025-40201, GHSA-r7m4-wpp2-9f3x, ROOT-OS-DEBIAN-13-CVE-2025-40201, ROOT-OS-UBUNTU-2404-CVE-2025-40201 and 1 more.