posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
If an exiting non-autoreaping task has already passed exit_notify() and
calls handle_posix_cpu_timers() from IRQ, it can be reaped by its parent
or debugger right after unlock_task_sighand().
If a concurrent posix_cpu_timer_del() runs at that moment, it won't be
able to detect timer->it.cpu.firing != 0: cpu_timer_task_rcu() and/or
lock_task_sighand() will fail.
Add the tsk->exit_state check into run_posix_cpu_timers() to fix this.
This fix is not needed if CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y, because
exit_task_work() is called before exit_notify(). But the check still
makes sense, task_work_add(&tsk->posix_cputimers_work.work) will fail
anyway in this case.
Analysis and contextual insights are available on OpenCVE Cloud.
No vendor fix or workaround currently provided.
Additional remediation guidance may be available on OpenCVE Cloud.
Tracking
Sign in to view the affected projects.
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-4327-1 | linux security update |
Debian DLA |
DLA-4328-1 | linux-6.1 security update |
Debian DSA |
DSA-5973-1 | linux security update |
EUVD |
EUVD-2025-22297 | In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() If an exiting non-autoreaping task has already passed exit_notify() and calls handle_posix_cpu_timers() from IRQ, it can be reaped by its parent or debugger right after unlock_task_sighand(). If a concurrent posix_cpu_timer_del() runs at that moment, it won't be able to detect timer->it.cpu.firing != 0: cpu_timer_task_rcu() and/or lock_task_sighand() will fail. Add the tsk->exit_state check into run_posix_cpu_timers() to fix this. This fix is not needed if CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y, because exit_task_work() is called before exit_notify(). But the check still makes sense, task_work_add(&tsk->posix_cputimers_work.work) will fail anyway in this case. |
Ubuntu USN |
USN-7769-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7769-2 | Linux kernel (Real-time) vulnerabilities |
Ubuntu USN |
USN-7769-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7770-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7771-1 | Linux kernel (OEM) vulnerabilities |
Ubuntu USN |
USN-7774-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7774-2 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7774-3 | Linux kernel (Real-time) vulnerabilities |
Ubuntu USN |
USN-7775-1 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-7775-2 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7776-1 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7775-3 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7774-4 | Linux kernel (KVM) vulnerabilities |
Ubuntu USN |
USN-7789-1 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7774-5 | Linux kernel (NVIDIA Tegra IGX) vulnerabilities |
Ubuntu USN |
USN-7789-2 | Linux kernel (Raspberry Pi) vulnerabilities |
Ubuntu USN |
USN-7853-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7853-2 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7854-1 | Linux kernel (KVM) vulnerabilities |
Ubuntu USN |
USN-7861-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7863-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7861-2 | Linux kernel (Real-time) vulnerabilities |
Ubuntu USN |
USN-7864-1 | Linux kernel (GCP and GKE) vulnerabilities |
Ubuntu USN |
USN-7853-3 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7865-1 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7861-3 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7874-1 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7874-2 | Linux kernel (FIPS) vulnerabilities |
Ubuntu USN |
USN-7861-4 | Linux kernel (AWS) vulnerabilities |
Ubuntu USN |
USN-7875-1 | Linux kernel (Oracle) vulnerabilities |
Ubuntu USN |
USN-7861-5 | Linux kernel vulnerabilities |
Ubuntu USN |
USN-7874-3 | Linux kernel (IoT) vulnerabilities |
Ubuntu USN |
USN-7935-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7937-1 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-7939-1 | Linux kernel (Azure) vulnerabilities |
Ubuntu USN |
USN-7939-2 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-7940-1 | Linux kernel (Azure FIPS) vulnerabilities |
Ubuntu USN |
USN-7940-2 | Linux kernel (Azure, N-Series) vulnerabilities |
Ubuntu USN |
USN-7986-1 | Linux kernel vulnerabilities |
Wed, 07 Jan 2026 15:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 04 Nov 2025 14:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Debian
Debian debian Linux |
|
| CPEs | cpe:2.3:o:debian:debian_linux:11.0:*:*:*:*:*:*:* | |
| Vendors & Products |
Debian
Debian debian Linux |
Mon, 03 Nov 2025 18:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 21 Oct 2025 23:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 21 Oct 2025 20:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Tue, 21 Oct 2025 19:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
|
Fri, 05 Sep 2025 14:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* cpe:2.3:o:linux:linux_kernel:6.16:rc1:*:*:*:*:*:* |
Thu, 04 Sep 2025 22:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
ssvc
|
Thu, 04 Sep 2025 17:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
kev
|
Tue, 02 Sep 2025 21:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-362 |
Tue, 02 Sep 2025 21:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-367 |
Tue, 02 Sep 2025 20:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Weaknesses | CWE-362 | |
| Metrics |
cvssV3_1
|
ssvc
|
Tue, 29 Jul 2025 12:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
cvssV3_1
|
Wed, 23 Jul 2025 20:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Linux
Linux linux Kernel |
|
| Vendors & Products |
Linux
Linux linux Kernel |
Tue, 22 Jul 2025 08:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() If an exiting non-autoreaping task has already passed exit_notify() and calls handle_posix_cpu_timers() from IRQ, it can be reaped by its parent or debugger right after unlock_task_sighand(). If a concurrent posix_cpu_timer_del() runs at that moment, it won't be able to detect timer->it.cpu.firing != 0: cpu_timer_task_rcu() and/or lock_task_sighand() will fail. Add the tsk->exit_state check into run_posix_cpu_timers() to fix this. This fix is not needed if CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y, because exit_task_work() is called before exit_notify(). But the check still makes sense, task_work_add(&tsk->posix_cputimers_work.work) will fail anyway in this case. | |
| Title | posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() | |
| References |
|
|
Status: PUBLISHED
Assigner: Linux
Published:
Updated: 2026-05-11T21:26:19.732Z
Reserved: 2025-04-16T04:51:24.006Z
Link: CVE-2025-38352
Updated: 2025-11-03T17:37:02.965Z
Status : Analyzed
Published: 2025-07-22T08:15:23.577
Modified: 2026-01-08T16:28:23.960
Link: CVE-2025-38352
OpenCVE Enrichment
Updated: 2025-07-23T20:19:28Z
Debian DLA
Debian DSA
EUVD
Ubuntu USN