CVE-2026-72166
Last modified
CVE-2026-72166 is a vulnerability of currently unknown severity. In the Linux kernel, the following vulnerability has been resolved: net/9p: fix infinite loop in p9_client_rpc on fatal signal When p9_client_rpc() is called with type P9_TFLUSH and the transport has no peer (e.g. fd transport backed by pipes with no 9p server), a fatal signal causes an infinite loop: again: err = io_wait_event_killable(req->wq, ...) /* SIGKILL wakes the task, returns -ERESTARTSYS */ if (err == -ERESTARTSYS && c->status == Connected && type == P9_TFLUSH) { sigpending = 1; clear_thread_flag(TIF_SIGPENDING); goto again; } clear_thread_flag() clears TIF_SIGPENDING before jumping back to io_wait_event_killable(). EPSS estimates a 0.21% chance of exploitation in the next 30 days.
Description
In the Linux kernel, the following vulnerability has been resolved: net/9p: fix infinite loop in p9_client_rpc on fatal signal When p9_client_rpc() is called with type P9_TFLUSH and the transport has no peer (e.g. fd transport backed by pipes with no 9p server), a fatal signal causes an infinite loop: again: err = io_wait_event_killable(req->wq, ...) /* SIGKILL wakes the task, returns -ERESTARTSYS */ if (err == -ERESTARTSYS && c->status == Connected && type == P9_TFLUSH) { sigpending = 1; clear_thread_flag(TIF_SIGPENDING); goto again; } clear_thread_flag() clears TIF_SIGPENDING before jumping back to io_wait_event_killable(). signal_pending_state() checks TIF_SIGPENDING, finds it zero, and the task goes to sleep again. The task can only wake on the next signal delivery that calls signal_wake_up() and sets TIF_SIGPENDING again. When that happens the loop repeats, clears TIF_SIGPENDING, and sleeps again indefinitely. This is triggered in practice by coredump_wait(): when a thread in a multi-threaded process causes a coredump (e.g. via SIGSYS from Syscall User Dispatch), coredump_wait() sends SIGKILL to all other threads and waits for them to call mm_release(). If one of those threads is blocked in p9_client_rpc() over an fd transport with no peer, it enters the P9_TFLUSH loop and never calls mm_release(), so coredump_wait() stalls forever: INFO: task syz.0.18:676 blocked for more than 143 seconds. Not tainted 6.12.77+ #1 task:syz.0.18 state:D stack:27600 pid:676 tgid:673 ppid:630 flags:0x00000004 Call Trace: <TASK> context_switch kernel/sched/core.c:5344 [inline] __schedule+0xcb4/0x5d50 kernel/sched/core.c:6724 __schedule_loop kernel/sched/core.c:6801 [inline] schedule+0xe5/0x350 kernel/sched/core.c:6816 schedule_timeout+0x253/0x290 kernel/time/timer.c:2593 do_wait_for_common kernel/sched/completion.c:95 [inline] __wait_for_common+0x409/0x600 kernel/sched/completion.c:116 wait_for_common kernel/sched/completion.c:127 [inline] wait_for_completion_state+0x1d/0x40 kernel/sched/completion.c:264 coredump_wait fs/coredump.c:448 [inline] do_coredump+0x854/0x4350 fs/coredump.c:629 get_signal+0x1425/0x2730 kernel/signal.c:2903 arch_do_signal_or_restart+0x81/0x880 arch/x86/kernel/signal.c:337 exit_to_user_mode_loop kernel/entry/common.c:111 [inline] exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline] __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline] syscall_exit_to_user_mode+0xf9/0x160 kernel/entry/common.c:218 do_syscall_64+0x102/0x220 arch/x86/entry/common.c:84 entry_SYSCALL_64_after_hwframe+0x77/0x7f </TASK> Fix: check fatal_signal_pending() before clearing TIF_SIGPENDING in the P9_TFLUSH retry loop. At that point TIF_SIGPENDING is still set, so fatal_signal_pending() works correctly. If a fatal signal is pending, jump to recalc_sigpending to restore TIF_SIGPENDING and return -ERESTARTSYS to the caller. The same defect is present in stable kernels back to 5.4. On those kernels the infinite loop is broken earlier by a second SIGKILL from the parent process (e.g. kill_and_wait() retrying after a timeout), resulting in a zombie process and a shutdown delay rather than a permanent D-state hang, but the underlying flaw is the same. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Metrics
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 91b8534fa8f5e01f249b1bf8df0a2540053549ad, < 378481cc60a937ef8ea4ef6e4f95f0dbc4e21414; >= 91b8534fa8f5e01f249b1bf8df0a2540053549ad, < 4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8; >= 91b8534fa8f5e01f249b1bf8df0a2540053549ad, < f62a1f245a71680033260a6f6d74011cc3acb3cd; >= 91b8534fa8f5e01f249b1bf8df0a2540053549ad, < dc892cbb1e4341d427b1f940ebd6abd69bf8e479; >= 91b8534fa8f5e01f249b1bf8df0a2540053549ad, < a8874c34c4a973f9922908a4b8be1d1278f01e42; >= 91b8534fa8f5e01f249b1bf8df0a2540053549ad, < 823886a1b089b49bcd349bc8bd3417b7910cd1ac; >= 91b8534fa8f5e01f249b1bf8df0a2540053549ad, < 6b4f48728faa8bb514368f7eacda05565dea8696 |
| Linux | Linux | 2.6.28 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-72166?
How severe is CVE-2026-72166?
How do I fix CVE-2026-72166?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-72160In the Linux kernel, the following vulnerability has been re…8.8
- CVE-2026-72161In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72162In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-72163In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72164In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-72165In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-72167In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72168In the Linux kernel, the following vulnerability has been re…
- CVE-2026-72169In the Linux kernel, the following vulnerability has been re…
- CVE-2026-7217A security vulnerability has been detected in Deepractice Pr…5.5
- CVE-2026-72170In the Linux kernel, the following vulnerability has been re…7.8
- CVE-2026-72171In the Linux kernel, the following vulnerability has been re…7.8
Are you affected by CVE-2026-72166?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
