CVE-2025-40201
N/A
Summary
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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 18c91bb2d87268d23868bf13508f5bc9cf04e89a < 1bc0d9315ef5296abb2c9fd840336255850ded18 | affected |
| Linux | Linux | 18c91bb2d87268d23868bf13508f5bc9cf04e89a < 132f827e7bac7373e1522e89709d70b43cae5342 | affected |
| Linux | Linux | 18c91bb2d87268d23868bf13508f5bc9cf04e89a < 19b45c84bd9fd42fa97ff80c6350d604cb871c75 | affected |
| Linux | Linux | 18c91bb2d87268d23868bf13508f5bc9cf04e89a < 6796412decd2d8de8ec708213bbc958fab72f143 | affected |
| Linux | Linux | 18c91bb2d87268d23868bf13508f5bc9cf04e89a < a15f37a40145c986cdf289a4b88390f35efdecc4 | affected |
| Linux | Linux | 5.18 | affected |
| Linux | Linux | 0 < 5.18 | unaffected |
| Linux | Linux | 6.1.157 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.113 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.54 <= 6.12.* | unaffected |
| Linux | Linux | 6.17.4 <= 6.17.* | unaffected |
| Linux | Linux | 6.18 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/1bc0d9315ef5296abb2c9fd840336255850ded18
- https://git.kernel.org/stable/c/132f827e7bac7373e1522e89709d70b43cae5342
- https://git.kernel.org/stable/c/19b45c84bd9fd42fa97ff80c6350d604cb871c75
- https://git.kernel.org/stable/c/6796412decd2d8de8ec708213bbc958fab72f143
- https://git.kernel.org/stable/c/a15f37a40145c986cdf289a4b88390f35efdecc4
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.