net/9p: fix infinite loop in p9_client_rpc on fatal signal
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.
- Опубликовано
- 15 авг. 2026 г.
- Обновлено
- 23 авг. 2026 г.
- EPSS
- 0,2 % · 11-й процентиль
- CWE
- —
Войдите, чтобы следить · Вы получите уведомление, если запись попадёт в KEV, получит эксплойт или обновится.
Инструменты для отчёта
Оценка срочности
0
Наблюдать
Пока низкий приоритет.
- CVSS
- 0 / 40 · —
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,2 %
Затронутые системы
—
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 2.6.28затронута
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до 18a3427526e2141f80050f82c1d26b19a454707dзатронута · git
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до 378481cc60a937ef8ea4ef6e4f95f0dbc4e21414затронута · git
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до 4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8затронута · git
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до f62a1f245a71680033260a6f6d74011cc3acb3cdзатронута · git
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до dc892cbb1e4341d427b1f940ebd6abd69bf8e479затронута · git
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до a8874c34c4a973f9922908a4b8be1d1278f01e42затронута · git
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до 823886a1b089b49bcd349bc8bd3417b7910cd1acзатронута · git
- 91b8534fa8f5e01f249b1bf8df0a2540053549ad и новее · до 6b4f48728faa8bb514368f7eacda05565dea8696затронута · git
- до 2.6.28не затронута · semver
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| Debian:12 | linux | до 6.1.180-1 | 6.1.180-1 |
| Debian:13 | linux | до 6.12.100-1 | 6.12.100-1 |
| Debian:14 | linux | до 7.1.5-1 | 7.1.5-1 |
Тот же продукт
linux: все записиДругие записи с наивысшей оценкой для того же основного продукта.
- CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation40В плане
- CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment40В плане
- CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()40В плане
- CVE-2026-74309vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler40В плане
- CVE-2026-74280crypto: marvell/octeontx - fix DMA cleanup using wrong loop index40В плане
- CVE-2026-74279crypto: cavium/cpt - fix DMA cleanup using wrong loop index40В плане
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 18a3427526e2141f80050f82c1d26b19a454707d | Вендор (CNA) |
| Linux Linux | 378481cc60a937ef8ea4ef6e4f95f0dbc4e21414 | Вендор (CNA) |
| Linux Linux | 4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8 | Вендор (CNA) |
| Linux Linux | 6b4f48728faa8bb514368f7eacda05565dea8696 | Вендор (CNA) |
| Linux Linux | 823886a1b089b49bcd349bc8bd3417b7910cd1ac | Вендор (CNA) |
| Linux Linux | a8874c34c4a973f9922908a4b8be1d1278f01e42 | Вендор (CNA) |
| Linux Linux | dc892cbb1e4341d427b1f940ebd6abd69bf8e479 | Вендор (CNA) |
| Linux Linux | f62a1f245a71680033260a6f6d74011cc3acb3cd | Вендор (CNA) |
| debian:linux | 6.1.180-1 · Debian:12 | Реестр пакетов (OSV) |
Статус эксплойта
Публичный эксплойт неизвестен
Публичный эксплойт пока не обнаружен. Это не значит, что вы в безопасности, лишь что порог чуть выше.
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
Кроме публикации датированных событий нет.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Для этой записи нет вектора CVSS, условия атаки вывести нельзя.
Класс уязвимости (CWE)
—
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Анализ Noroxi
Анализа Noroxi для этой записи пока нет
Мы не пишем анализ вручную для всех 385 000+ уязвимостей; это было бы нечестно. Для значимых уязвимостей с реальным влиянием наша команда описывает механизм, обнаружение и устранение.
Мы используем этот продукт, нужна помощьЖурнал изменений
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
- git.kernel.org/stable/c/18a3427526e2141f80050f82c1d26b19a454707d
- git.kernel.org/stable/c/378481cc60a937ef8ea4ef6e4f95f0dbc4e21414
- git.kernel.org/stable/c/4f621ae3a2d99b0bac50e8d66cbf7f68323c01e8
- git.kernel.org/stable/c/6b4f48728faa8bb514368f7eacda05565dea8696
- git.kernel.org/stable/c/823886a1b089b49bcd349bc8bd3417b7910cd1ac
- git.kernel.org/stable/c/a8874c34c4a973f9922908a4b8be1d1278f01e42
- git.kernel.org/stable/c/dc892cbb1e4341d427b1f940ebd6abd69bf8e479
- git.kernel.org/stable/c/f62a1f245a71680033260a6f6d74011cc3acb3cd
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.