Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2025-40201

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

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to < 1bc0d9315ef5296abb2c9fd840336255850ded18affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to < 132f827e7bac7373e1522e89709d70b43cae5342affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to < 19b45c84bd9fd42fa97ff80c6350d604cb871c75affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to < 6796412decd2d8de8ec708213bbc958fab72f143affected
  • 18c91bb2d87268d23868bf13508f5bc9cf04e89a to < a15f37a40145c986cdf289a4b88390f35efdecc4affected

Linux Linux

Default version status: affected

  • 5.18affected
  • 0 to < 5.18unaffected
  • 6.1.157 to ≤ 6.1.*unaffected
  • 6.6.113 to ≤ 6.6.*unaffected
  • 6.12.54 to ≤ 6.12.*unaffected
  • 6.17.4 to ≤ 6.17.*unaffected
  • 6.18 to ≤ *unaffected

References