CVE-2025-40201

kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths

State
Published
Severity
7.8 High
Published
Nov 12, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to before 1bc0d9315ef5296abb2c9fd840336255850ded18Affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to before 132f827e7bac7373e1522e89709d70b43cae5342Affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to before 19b45c84bd9fd42fa97ff80c6350d604cb871c75Affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to before 6796412decd2d8de8ec708213bbc958fab72f143Affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to before a15f37a40145c986cdf289a4b88390f35efdecc4Affected
LinuxLinux
  • 5.18Affected
  • before 5.18Not affected
  • 6.1.157 through 6.1.*Not affected
  • 6.6.113 through 6.6.*Not affected
  • 6.12.54 through 6.12.*Not affected
  • 6.17.4 through 6.17.*Not affected
  • 6.18 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.