CVE-2026-98256: signal: Prevent exec() race
Оценка Noroxi
Приоритет: Наблюдать (оценка срочности 31/100)
- Есть публичный код proof-of-concept (GitHub); записей об эксплуатации в реальных атаках нет.
- Вероятность эксплуатации в ближайшие 30 дней: 0,14% (FIRST EPSS).
- Может быть вызвана пользователем с локальным доступом к системе. Достаточно учётной записи с низкими привилегиями. Действия пользователя не требуются. Особые условия не требуются; воспроизводится стабильно.
- Исправленная версия: Linux Linux 621c365739828900f32a0c1cdfe5387528a62176, 934bd95f1a6404dbb845951b823547abab05a649, d2710c8d938ae6a825a6463158e6e6f31eac792a.
Пока низкий приоритет. Обновитесь до Linux Linux 621c365739828900f32a0c1cdfe5387528a62176, 934bd95f1a6404dbb845951b823547abab05a649, d2710c8d938ae6a825a6463158e6e6f31eac792a или новее.
Формируется автоматически по данным записи: CVSS (NVD и CNA), CISA KEV и SSVC, FIRST EPSS, источники эксплойтов, исправленные версии. Как мы считаем
Первоисточники: NVD · CVE.org · FIRST EPSS
In the Linux kernel, the following vulnerability has been resolved: signal: Prevent exec() race Hyunwoo debugged the following KASAN UAF splat: BUG: KASAN: slab-use-after-free in __send_signal_locked+0xb27/0xba0 Write of size 8 at addr ffff888007ed80c8 by task poc/79 ... Call Trace: __send_signal_locked+0xb27/0xba0 do_send_sig_info+0xa7/0x160 do_send_specific+0x76/0xa0 __x64_sys_tgkill+0x193/0x270 ... Allocated by task 80: do_timer_create+0x1a4/0x1030 __x64_sys_timer_create+0x145/0x190 ... Freed by task 12: kmem_cache_free_bulk+0x1f8/0x4a0 kvfree_rcu_bulk+0x14f/0x1c0 kfree_rcu_work+0x128/0x1a0 ... Last potentially related work creation: kvfree_call_rcu+0x39/0x390 __flush_itimer_signals+0x211/0x320 flush_itimer_signals+0x47/0x90 begin_new_exec+0xa6b/0x28c0 It turned out that this happens with a non-leader exec() as Hyunwoo explained: de_thread() calls exchange_tids() before release_task(leader), so the struct pid held by a SIGEV_THREAD_ID timer created against the leader's tid now points to the thread which called execve(). pid_task() returns that thread and lock_task_sighand() on it succeeds. If the timer signal is blocked, its sigqueue stays queued on the leader's task::pending. The next expiry of that timer can then run while release_task() flushes the queue. posixtimer_send_sigqueue() checks whether the sigqueue is already queued with a plain list_empty(), which only reads list_head::next. list_del_init() is not atomic and INIT_LIST_HEAD() stores list_head::next before list_head::prev, so the check can pass in between. list_add_tail() queues the entry on the task::pending of the live thread, and the list_head::prev store from the flush then overwrites the list_head::prev link that list_add_tail() has just set. __flush_itimer_signals() does not undo that either. With list_head::prev pointing at the entry itself, its list_del_init() only stores the same values again, so the entry is not removed from the list. It is still there after the last reference is dropped and the timer is freed by RCU, and the list_add_tail() of a later tgkill() follows that list_head::prev into the freed timer. This problem surfaced with the recent commit which moved the sigqueue flush out of the sighand lock held region. Hyonwoo proposed to fix this by using list_del_init_careful(), but that just papers over the problem. After some disucssions and various attempts to solve it, Eric pointed out that there is no reason to flush task::pending late in release_task() and it should be done in exit_signals() already. As nothing can collect and deliver signals which are queued in a dying task's pending queue, there is no reason to delay it further. But it has to be ensured that no signals can be queued into it after that point. exit_signals() sets PF_EXITING in task::flags, which can be used as an indicator for this. Cure it by: - Preventing signal queueing for task private signals (PIDTYPE_PID) when the task has PF_EXITING set in __send_signal_locked() and in posixtimer_send_sigqueue(). - Protecting the unlocked setting of PF_EXITING in exit_signals() for the task group empty and the group exit case with sighand lock - Flushing task::pending signals right there. Optimize that by moving the whole pending list to an on-stack list head under sighand lock and free the signals without the lock held. There has been quite some discussion about the lockless flush and the non-leader exec case on weakly ordered systems. The problem is that a third party which tries to send a posix timer signal relies on the PID lookup to find the target task and that lookup might result in the new leader when the signal was originaly directed to the old leader. In case that the signal was queued on the old leader then the lockless flush raised a concern over the following situation: old_leader new_leader third party A: flush_list() // list_del_in ---truncated---
- Опубликовано
- 6 окт. 2026 г.
- Обновлено
- 19 окт. 2026 г.
- EPSS
- 0,1 % · 3-й процентиль
- CWE
- —
Инструменты для отчёта
Оценка срочности
31
Наблюдать
Пока низкий приоритет.
- CVSS
- 31 / 40 · 7.8 / 10
- CISA KEV
- 0 / 30 · Нет в списке
- EPSS
- 0 / 30 · 0,1 %
Оценка CNA и NVD
- NVD
- —
- CNA · Linux
- 7,8
- NVD ещё не выставил свою оценку; показана оценка CNA.
Оценка присваивающего органа и независимая оценка NVD. Разрыв означает, что критичность спорна.
Узнайте, когда запись изменится
- Нет в KEV: эксплуатация в реальных атаках не зафиксирована
- Есть PoC, боевого модуля нет
- Исправление выпущено
Если что-то из этого изменится, сообщим в ежедневной сводке.
У вас WordPress? Проверьте сайт бесплатно в WP Lens
Анализ Noroxi
Что это значит для вашей инфраструктуры?
Оценка выше формируется автоматически по данным записи и не знает вашей среды. Наша команда проверит на ваших системах, действительно ли уязвимость эксплуатируема и какой меры достаточно.
Мы используем этот продукт, нужна помощьЗатронутые системы
Затронута ли ваша версия?
Выберите продукт и введите свою версию. Она сравнивается с диапазонами этой записи прямо в браузере и никуда не отправляется.
—
Версии, заявленные вендором
Диапазоны затронутых версий, заявленные назначающей организацией (Linux). Не зависят от анализа CPE в NVD и обычно опережают его.
Linux Linux
- 6.15затронута
- fb3bbcfe344e64a46574a638b051ffd78762c12d и новее · до 621c365739828900f32a0c1cdfe5387528a62176затронута · git
- fb3bbcfe344e64a46574a638b051ffd78762c12d и новее · до 934bd95f1a6404dbb845951b823547abab05a649затронута · git
- fb3bbcfe344e64a46574a638b051ffd78762c12d и новее · до d2710c8d938ae6a825a6463158e6e6f31eac792aзатронута · git
- до 6.15не затронута · semver
- 6.18.54 и новее · до 6.18.* включительноне затронута · semver
- 7.2.8 и новее · до 7.2.* включительноне затронута · semver
- 7.3 и новеене затронута · original_commit_for_fix
Затронутые пакеты
Данные OSV и GitHub Advisory: экосистема, пакет и диапазон. Сопоставление SBOM использует эту таблицу.
| Экосистема | Пакет | Затронутый диапазон | Исправление |
|---|---|---|---|
| AlmaLinux:10 | kernel | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-core | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-core | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-devel-matched | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-core | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-debug-modules-extra | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-devel-matched | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-core | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-64k-modules-extra | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-abi-stablelists | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-core | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-cross-headers | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-debug | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-debug-core | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-debug-devel-matched | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
| AlmaLinux:10 | kernel-debug-modules-core | до 6.12.0-211.67.1.el10_2 | 6.12.0-211.67.1.el10_2 |
+96
Тот же продукт
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-982546 окт. 2026 г. · swiotlb: use the adjusted address for the highmem page lookup31Наблюдать
- ← РаньшеCVE-2026-982556 окт. 2026 г. · tcp: exclude old ACKs from tcp fast path0Наблюдать
- Позже →CVE-2026-982576 окт. 2026 г. · rds: ib: use rds_conn_drop() on protocol version mismatch30Наблюдать
Исправление
На какую версию обновиться
Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.
| Продукт / пакет | Исправленная версия | Источник |
|---|---|---|
| Linux Linux | 621c365739828900f32a0c1cdfe5387528a62176 | Вендор (CNA) |
| Linux Linux | 934bd95f1a6404dbb845951b823547abab05a649 | Вендор (CNA) |
| Linux Linux | d2710c8d938ae6a825a6463158e6e6f31eac792a | Вендор (CNA) |
| almalinux:kernel | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-core | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-core | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-devel | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-devel-matched | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-modules | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-modules-core | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-debug-modules-extra | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-devel | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| almalinux:kernel-64k-devel-matched | 6.12.0-211.67.1.el10_2 · AlmaLinux:10 | Реестр пакетов (OSV) |
| debian:linux | 7.2.8-1 · Debian:14 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debug-debuginfo | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debug-devel | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debug-devel-matched | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-64k-debuginfo | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-64k-devel | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-64k-devel-matched | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-debug-debuginfo | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-debug-devel | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-debug-devel-matched | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-debuginfo | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-debuginfo-common-aarch64 | 0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2 | Реестр пакетов (OSV) |
| red hat:kernel-modules-internal | 0:6.12.0-211.67.1.el10_2 · Red Hat:shadow_migration_toolkit:10::el10 | Реестр пакетов (OSV) |
| rocky linux:kernel | 0:6.12.0-211.67.1.el10_2 · Rocky Linux:10 | Реестр пакетов (OSV) |
Статус эксплойта
Есть proof of concept
Существует публичный PoC или сигнатура обнаружения. Знание об эксплойте доступно; не откладывайте установку исправлений.
Доказательство
- Репозиторий PoC на GitHub ×2
Noroxi не размещает код эксплойтов и не даёт на них ссылок. Показываются имена модулей Metasploit и идентификаторы шаблонов Nuclei (имена, не код); записи Exploit-DB и репозитории PoC даются только числом.
| Источник | Тип | Дата |
|---|---|---|
| Репозиторий PoC на GitHub | stars:0 | 2026-10-18 |
| Репозиторий PoC на GitHub | stars:1 | 2026-10-18 |
Контекст для исследователя
Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.
Хронология
От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.
- Публикация
- Исправлениев тот же день
- Первый PoC+12 дн.
- Сегодня26 окт. 2026 г.+20 дн.
Ежедневная оценка FIRST EPSS; записываются только изменения от 0,01 (ступенчатый график).
Ссылки на патчи и коммиты
Коммиты, PR и diff среди источников. Отправная точка для patch-diff и поиска вариантов; это исправления, не эксплойты.
Среди источников нет ссылок на коммит или PR.
Авторы
Все исследователиНашедшие, сообщившие и аналитики, названные в записи CNA. Нажмите имя, чтобы увидеть другие записи исследователя.
В записи CNA нет авторов.
Кандидаты в варианты
Тот же продукт, тот же класс уязвимости, в пределах 18 месяцев. Если патч не закрыл первопричину, родственная ошибка здесь.
Ночной расчёт связей ничего не нашёл.
Кандидаты в цепочки
Обход аутентификации и уязвимость, требующая привилегий, в одном продукте и близко по времени: вместе они могут дать путь без аутентификации.
—
Охват bug bounty
Известной публичной программы нет.
Источник: bounty-targets-data (публичные списки HackerOne, Bugcrowd, Intigriti, YesWeHack).
Технические детали
Условия атаки
- Может быть вызвана пользователем с локальным доступом к системе.
- Достаточно учётной записи с низкими привилегиями.
- Действия пользователя не требуются.
- Особые условия не требуются; воспроизводится стабильно.
В случае успеха
- Конфиденциальность
- высокое · данные могут быть прочитаны
- Целостность
- высокое · данные или конфигурация могут быть изменены
- Доступность
- высокое · работа сервиса может быть нарушена
- Вектор атаки
- Локальный
- Сложность атаки
- Низкая
- Требуемые привилегии
- Низкие
- Взаимодействие с пользователем
- Не требуется
- Область действия
- Не изменяется
- Влияние на конфиденциальность
- Высокое
- Влияние на целостность
- Высокое
- Влияние на доступность
- Высокое
Класс уязвимости (CWE)
—
Вектор CVSS
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
nvd-secondary
Контекст атаки
Шаблоны атак MITRE CAPEC и техники ATT&CK для этого класса уязвимости (CWE). Отправная точка для правил обнаружения и threat hunting.
У MITRE нет сопоставления CAPEC/ATT&CK для этого CWE.
Журнал изменений
- Зрелость эксплойтаnone → poc
- CVSS— → 7.8
- Критичность— → high
- Зрелость эксплойта— → none
- Исправление✗ → ✓
Для отслеживаемых записей эти изменения приходят и как уведомления. →
Источники
Показать все источники (ещё 2)Свернуть
Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.