CVE-2026-72166

Updated on 15 Aug 2026

Severity

4.7 Medium severity

Details

CVSS score
4.7

Overview

About vulnerability

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.

Details

Fixes

KernelCare state

Live-patch status from KernelCare for each operating system.

Operating system Status Covered kernels
Debian 13 Released
13 kernels
  • 6.12.85-1
  • 6.12.86-1
  • 6.12.88-1
  • 6.12.74-2
  • 6.12.73-1
  • 6.12.63-1
  • 6.12.69-1
  • 6.12.74-1
  • 6.12.90-1
  • 6.12.90-2
  • 6.12.94-1
  • 6.12.95-1
  • 6.12.96-1
Oracle Linux 8 UEK 7 Released
112 kernels
  • 5.15.0-102.110.5.el8uek
  • 5.15.0-101.103.2.1.el8uek
  • 5.15.0-8.91.4.1.el8uek
  • 5.15.0-7.86.6.1.el8uek
  • 5.15.0-2.52.3.el8uek
  • 5.15.0-100.96.32.el8uek
  • 5.15.0-5.76.5.1.el8uek
  • 5.15.0-6.80.3.1.el8uek
  • 5.15.0-3.60.5.1.el8uek
  • 5.15.0-0.30.20.el8uek
  • 5.15.0-1.43.4.1.el8uek
  • 5.15.0-0.30.20.1.el8uek
  • 5.15.0-1.43.4.2.el8uek
  • 5.15.0-4.70.5.2.el8uek
  • 5.15.0-104.119.4.2.el8uek
  • 5.15.0-0.30.19.el8uek
  • 5.15.0-105.125.6.2.el8uek
  • 5.15.0-105.125.6.2.1.el8uek
  • 5.15.0-105.125.6.2.2.el8uek
  • 5.15.0-106.131.4.el8uek
  • 5.15.0-200.131.27.el8uek
  • 5.15.0-200.131.27.1.el8uek
  • 5.15.0-201.135.6.el8uek
  • 5.15.0-202.135.2.el8uek
  • 5.15.0-102.110.5.1.el8uek
  • 5.15.0-103.114.4.el8uek
  • 5.15.0-203.146.5.1.el8uek
  • 5.15.0-204.147.6.2.el8uek
  • 5.15.0-204.147.6.3.el8uek
  • 5.15.0-205.149.5.1.el8uek
  • 5.15.0-205.149.5.4.el8uek
  • 5.15.0-206.153.7.el8uek
  • 5.15.0-206.153.7.1.el8uek
  • 5.15.0-207.156.6.el8uek
  • 5.15.0-208.159.3.el8uek
  • 5.15.0-208.159.3.2.el8uek
  • 5.15.0-209.161.7.el8uek
  • 5.15.0-209.161.7.1.el8uek
  • 5.15.0-209.161.7.2.el8uek
  • 5.15.0-210.163.7.el8uek
  • 5.15.0-300.163.18.el8uek
  • 5.15.0-300.163.18.1.el8uek
  • 5.15.0-300.163.18.1.1.el8uek
  • 5.15.0-301.163.5.2.el8uek
  • 5.15.0-302.167.6.el8uek
  • 5.15.0-300.163.18.7.el8uek
  • 5.15.0-302.167.6.1.el8uek
  • 5.15.0-303.171.5.2.el8uek
  • 5.15.0-303.171.5.2.1.el8uek
  • 5.15.0-304.171.4.el8uek
  • 5.15.0-304.171.4.1.el8uek
  • 5.15.0-304.171.4.3.el8uek
  • 5.15.0-303.171.5.2.2.el8uek
  • 5.15.0-305.176.4.el8uek
  • 5.15.0-306.177.4.el8uek
  • 5.15.0-306.177.4.1.el8uek
  • 5.15.0-307.178.5.el8uek
  • 5.15.0-308.179.6.el8uek
  • 5.15.0-308.179.6.2.el8uek
  • 5.15.0-308.179.6.3.el8uek
  • 5.15.0-309.180.4.el8uek
  • 5.15.0-308.179.6.7.el8uek
  • 5.15.0-309.180.4.2.el8uek
  • 5.15.0-308.179.6.11.el8uek
  • 5.15.0-310.184.5.2.el8uek
  • 5.15.0-310.184.5.3.el8uek
  • 5.15.0-311.185.9.el8uek
  • 5.15.0-308.179.6.14.el8uek
  • 5.15.0-312.187.5.el8uek
  • 5.15.0-312.187.5.1.el8uek
  • 5.15.0-312.187.5.2.el8uek
  • 5.15.0-312.187.5.3.el8uek
  • 5.15.0-308.179.6.16.el8uek
  • 5.15.0-313.189.5.1.el8uek
  • 5.15.0-313.189.5.2.el8uek
  • 5.15.0-313.189.5.3.el8uek
  • 5.15.0-314.193.5.3.el8uek
  • 5.15.0-314.193.5.4.el8uek
  • 5.15.0-314.193.5.5.el8uek
  • 5.15.0-315.196.5.1.el8uek
  • 5.15.0-315.196.5.2.el8uek
  • 5.15.0-316.196.4.1.el8uek
  • 5.15.0-316.196.4.2.el8uek
  • 5.15.0-317.197.5.1.el8uek
  • 5.15.0-317.197.5.2.el8uek
  • 5.15.0-318.199.3.2.el8uek
  • 5.15.0-318.199.3.2.1.el8uek
  • 5.15.0-319.201.4.2.el8uek
  • 5.15.0-319.201.4.3.el8uek
  • 5.15.0-319.201.4.4.el8uek
  • 5.15.0-319.201.4.6.el8uek
  • 5.15.0-320.202.8.2.el8uek
  • 5.15.0-320.202.8.3.el8uek
  • 5.15.0-320.202.8.4.el8uek
  • 5.15.0-320.202.8.5.el8uek
  • 5.15.0-318.199.3.6.el8uek
  • 5.15.0-321.202.5.el8uek
  • 5.15.0-321.202.5.1.el8uek
  • 5.15.0-321.202.5.2.el8uek
  • 5.15.0-321.202.5.3.el8uek
  • 5.15.0-322.203.3.2.el8uek
  • 5.15.0-322.203.3.3.el8uek
  • 5.15.0-322.203.3.4.el8uek
  • 5.15.0-322.203.3.4.5.el8uek
  • 5.15.0-308.179.6.18.el8uek
  • 5.15.0-318.199.3.7.el8uek
  • 5.15.0-322.203.3.5.el8uek
  • 5.15.0-322.203.3.4.1.el8uek
  • 5.15.0-323.211.3.3.el8uek
  • 5.15.0-323.211.3.4.el8uek
  • 5.15.0-308.179.6.19.el8uek
  • 5.15.0-323.211.3.5.el8uek
Oracle Linux 9 UEK 7 Released
112 kernels
  • 5.15.0-101.103.2.1.el9uek
  • 5.15.0-8.91.4.1.el9uek
  • 5.15.0-7.86.6.1.el9uek
  • 5.15.0-5.76.5.1.el9uek
  • 5.15.0-6.80.3.1.el9uek
  • 5.15.0-3.60.5.1.el9uek
  • 5.15.0-0.30.20.el9uek
  • 5.15.0-100.96.32.el9uek
  • 5.15.0-1.43.4.2.el9uek
  • 5.15.0-2.52.3.el9uek
  • 5.15.0-4.70.5.2.el9uek
  • 5.15.0-1.43.4.1.el9uek
  • 5.15.0-0.30.20.1.el9uek
  • 5.15.0-102.110.5.el9uek
  • 5.15.0-102.110.5.1.el9uek
  • 5.15.0-103.114.4.el9uek
  • 5.15.0-104.119.4.2.el9uek
  • 5.15.0-0.30.19.el9uek
  • 5.15.0-105.125.6.2.el9uek
  • 5.15.0-105.125.6.2.1.el9uek
  • 5.15.0-105.125.6.2.2.el9uek
  • 5.15.0-106.131.4.el9uek
  • 5.15.0-200.131.27.el9uek
  • 5.15.0-200.131.27.1.el9uek
  • 5.15.0-201.135.6.el9uek
  • 5.15.0-202.135.2.el9uek
  • 5.15.0-203.146.5.1.el9uek
  • 5.15.0-204.147.6.2.el9uek
  • 5.15.0-204.147.6.3.el9uek
  • 5.15.0-205.149.5.1.el9uek
  • 5.15.0-205.149.5.4.el9uek
  • 5.15.0-206.153.7.el9uek
  • 5.15.0-206.153.7.1.el9uek
  • 5.15.0-207.156.6.el9uek
  • 5.15.0-208.159.3.el9uek
  • 5.15.0-208.159.3.2.el9uek
  • 5.15.0-209.161.7.el9uek
  • 5.15.0-209.161.7.1.el9uek
  • 5.15.0-209.161.7.2.el9uek
  • 5.15.0-210.163.7.el9uek
  • 5.15.0-300.163.18.el9uek
  • 5.15.0-300.163.18.1.el9uek
  • 5.15.0-300.163.18.1.1.el9uek
  • 5.15.0-301.163.5.2.el9uek
  • 5.15.0-302.167.6.el9uek
  • 5.15.0-300.163.18.7.el9uek
  • 5.15.0-302.167.6.1.el9uek
  • 5.15.0-303.171.5.2.el9uek
  • 5.15.0-303.171.5.2.1.el9uek
  • 5.15.0-304.171.4.el9uek
  • 5.15.0-304.171.4.1.el9uek
  • 5.15.0-304.171.4.3.el9uek
  • 5.15.0-303.171.5.2.2.el9uek
  • 5.15.0-305.176.4.el9uek
  • 5.15.0-306.177.4.el9uek
  • 5.15.0-306.177.4.1.el9uek
  • 5.15.0-307.178.5.el9uek
  • 5.15.0-308.179.6.el9uek
  • 5.15.0-308.179.6.2.el9uek
  • 5.15.0-308.179.6.3.el9uek
  • 5.15.0-309.180.4.el9uek
  • 5.15.0-308.179.6.7.el9uek
  • 5.15.0-309.180.4.2.el9uek
  • 5.15.0-308.179.6.11.el9uek
  • 5.15.0-310.184.5.2.el9uek
  • 5.15.0-310.184.5.3.el9uek
  • 5.15.0-311.185.9.el9uek
  • 5.15.0-308.179.6.14.el9uek
  • 5.15.0-312.187.5.el9uek
  • 5.15.0-312.187.5.1.el9uek
  • 5.15.0-312.187.5.2.el9uek
  • 5.15.0-312.187.5.3.el9uek
  • 5.15.0-308.179.6.16.el9uek
  • 5.15.0-313.189.5.1.el9uek
  • 5.15.0-313.189.5.2.el9uek
  • 5.15.0-313.189.5.3.el9uek
  • 5.15.0-314.193.5.3.el9uek
  • 5.15.0-314.193.5.4.el9uek
  • 5.15.0-314.193.5.5.el9uek
  • 5.15.0-315.196.5.1.el9uek
  • 5.15.0-315.196.5.2.el9uek
  • 5.15.0-316.196.4.1.el9uek
  • 5.15.0-316.196.4.2.el9uek
  • 5.15.0-317.197.5.1.el9uek
  • 5.15.0-317.197.5.2.el9uek
  • 5.15.0-318.199.3.2.el9uek
  • 5.15.0-318.199.3.2.1.el9uek
  • 5.15.0-319.201.4.2.el9uek
  • 5.15.0-319.201.4.3.el9uek
  • 5.15.0-319.201.4.4.el9uek
  • 5.15.0-319.201.4.6.el9uek
  • 5.15.0-320.202.8.2.el9uek
  • 5.15.0-320.202.8.3.el9uek
  • 5.15.0-320.202.8.4.el9uek
  • 5.15.0-320.202.8.5.el9uek
  • 5.15.0-318.199.3.6.el9uek
  • 5.15.0-321.202.5.el9uek
  • 5.15.0-321.202.5.1.el9uek
  • 5.15.0-321.202.5.2.el9uek
  • 5.15.0-321.202.5.3.el9uek
  • 5.15.0-322.203.3.2.el9uek
  • 5.15.0-322.203.3.3.el9uek
  • 5.15.0-322.203.3.4.el9uek
  • 5.15.0-322.203.3.4.5.el9uek
  • 5.15.0-308.179.6.18.el9uek
  • 5.15.0-318.199.3.7.el9uek
  • 5.15.0-322.203.3.5.el9uek
  • 5.15.0-322.203.3.4.1.el9uek
  • 5.15.0-323.211.3.3.el9uek
  • 5.15.0-323.211.3.4.el9uek
  • 5.15.0-308.179.6.19.el9uek
  • 5.15.0-323.211.3.5.el9uek
Ubuntu 22.04 Planned —
Ubuntu 22.04 AWS Planned —
Ubuntu 22.04 Azure Planned —
Ubuntu 24.04 Planned —
Ubuntu 24.04 AWS Planned —
Ubuntu 26.04 Will Not Fix —