0.0
NA
CVE-2026-72166
net/9p: fix infinite loop in p9_client_rpc on fatal signal
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.

INFO

Published Date :

Aug. 15, 2026, 6:21 a.m.

Last Modified :

Aug. 17, 2026, 6:18 a.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-72166 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
Solution
A patch resolves an infinite loop in p9_client_rpc, preventing denial of service.
  • Apply the provided patch to the Linux kernel.
  • Update the Linux kernel to a fixed version.
  • Test the fix in a staging environment.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-72166 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-72166 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-72166 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-72166 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 17, 2026

    Action Type Old Value New Value
    Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '378481cc60a937ef8ea4ef6e4f95f0dbc4e21414', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'f62a1f245a71680033260a6f6d74011cc3acb3cd', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'dc892cbb1e4341d427b1f940ebd6abd69bf8e479', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'a8874c34c4a973f9922908a4b8be1d1278f01e42', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '823886a1b089b49bcd349bc8bd3417b7910cd1ac', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '6b4f48728faa8bb514368f7eacda05565dea8696', 'versionType': 'git'}], 'programFiles': ['net/9p/client.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '2.6.28'}, {'status': 'unaffected', 'version': '0', 'lessThan': '2.6.28', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/9p/client.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '378481cc60a937ef8ea4ef6e4f95f0dbc4e21414', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'f62a1f245a71680033260a6f6d74011cc3acb3cd', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'dc892cbb1e4341d427b1f940ebd6abd69bf8e479', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'a8874c34c4a973f9922908a4b8be1d1278f01e42', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '823886a1b089b49bcd349bc8bd3417b7910cd1ac', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '6b4f48728faa8bb514368f7eacda05565dea8696', 'versionType': 'git'}], 'programFiles': ['net/9p/client.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '2.6.28'}, {'status': 'unaffected', 'version': '0', 'lessThan': '2.6.28', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/9p/client.c'], 'defaultStatus': 'affected'}]
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Aug. 15, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '378481cc60a937ef8ea4ef6e4f95f0dbc4e21414', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'f62a1f245a71680033260a6f6d74011cc3acb3cd', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'dc892cbb1e4341d427b1f940ebd6abd69bf8e479', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': 'a8874c34c4a973f9922908a4b8be1d1278f01e42', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '823886a1b089b49bcd349bc8bd3417b7910cd1ac', 'versionType': 'git'}, {'status': 'affected', 'version': '91b8534fa8f5e01f249b1bf8df0a2540053549ad', 'lessThan': '6b4f48728faa8bb514368f7eacda05565dea8696', 'versionType': 'git'}], 'programFiles': ['net/9p/client.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '2.6.28'}, {'status': 'unaffected', 'version': '0', 'lessThan': '2.6.28', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.97', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.40', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['net/9p/client.c'], 'defaultStatus': 'affected'}]
    Added 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.
    Added Reference https://git.kernel.org/stable/c/378481cc60a937ef8ea4ef6e4f95f0dbc4e21414
    Added Reference https://git.kernel.org/stable/c/4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8
    Added Reference https://git.kernel.org/stable/c/6b4f48728faa8bb514368f7eacda05565dea8696
    Added Reference https://git.kernel.org/stable/c/823886a1b089b49bcd349bc8bd3417b7910cd1ac
    Added Reference https://git.kernel.org/stable/c/a8874c34c4a973f9922908a4b8be1d1278f01e42
    Added Reference https://git.kernel.org/stable/c/dc892cbb1e4341d427b1f940ebd6abd69bf8e479
    Added Reference https://git.kernel.org/stable/c/f62a1f245a71680033260a6f6d74011cc3acb3cd
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.