CVE Catalog

CVE-2025-40201

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.14%

4th percentile - higher than 4% of all known CVEs

Summary

In the Linux kernel's sys_prlimit64(), there is a race condition when using task_lock(tsk->group_leader). A process can exit or exec, leading to use-after-free or taking the wrong lock.

Risk Assessment

A local attacker could exploit this vulnerability to cause a kernel panic or potentially escalate privileges.

Recommendation

Apply the kernel patch for sys_prlimit64. Update the kernel to a version containing the fix for CVE-2025-40201.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS