Перейти к содержимому
Noroxi
CVE.org (no NVD analysis yet)· CNA Linux

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---

ВысокаяCVSS 7.8 · v3.1—Proof of concept Есть исправление
Опубликовано
6 окт. 2026 г.
Обновлено
19 окт. 2026 г.
EPSS
0,1 % · 3-й процентиль
CWE
—

Инструменты для отчёта

JSON

Оценка срочности

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, боевого модуля нет
  • Исправление выпущено

Если что-то из этого изменится, сообщим в ежедневной сводке.

Следить за CVE-2026-98256

Когда мы напишем

  • когда запись попадёт в CISA KEV
  • когда появится или станет боевым эксплойт
  • когда запись обновится (в том числе исправленная версия)
  • когда EPSS вырастет на 20 пунктов за неделю

Одна сводка в день по почте (06:00 UTC); с вебхуком попадание в KEV и боевые эксплойты — сразу.

С бесплатным аккаунтом также

У вас WordPress? Проверьте сайт бесплатно в WP Lens

  • Оповещения по стеку: добавьте свои продукты и версии — новые CVE для них придут вам
  • Мониторинг сайта: 1 сайт, письмо сразу при недоступности
  • Добавьте домен: поддомены и риск захвата проверяются каждую неделю (1 домен)
  • 10 проверок в час в инструментах безопасности (без аккаунта — 3 в день), API-ключ и MCP
  • Все сканирования в одной панели: находки, изменения с прошлого сканирования, отчёт по домену или клиенту (PDF, ссылка для просмотра)
Все бесплатные инструменты

Регистрация по почте · Уже есть аккаунт? Войти

Бесплатный аккаунт, без карты. Отписаться можно в любой момент.

У вас 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:10kernelдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64kдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-coreдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-debugдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-debug-coreдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-debug-develдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-debug-devel-matchedдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-debug-modulesдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-debug-modules-coreдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-debug-modules-extraдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-develдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-devel-matchedдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-modulesдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-modules-coreдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-64k-modules-extraдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-abi-stablelistsдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-coreдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-cross-headersдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-debugдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-debug-coreдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-debug-develдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-debug-devel-matchedдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-debug-modulesдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2
AlmaLinux:10kernel-debug-modules-coreдо 6.12.0-211.67.1.el10_26.12.0-211.67.1.el10_2

+96

Тот же продукт

linux: все записи

Другие записи с наивысшей оценкой для того же основного продукта.

  • CVE-2026-74705udp: fix potential use-after-free in tunnel segmentation
    40В плане
  • CVE-2026-74612veth: fix skb length accounting after XDP frag adjustment
    40В плане
  • CVE-2026-74475vxlan: use neigh_ha_snapshot() in route_shortcircuit()
    40В плане

Опубликованы до и после этой записи в том же продукте

  • ← РаньшеCVE-2026-982546 окт. 2026 г. · swiotlb: use the adjusted address for the highmem page lookup
    31Наблюдать
  • ← РаньшеCVE-2026-982556 окт. 2026 г. · tcp: exclude old ACKs from tcp fast path
    0Наблюдать
  • Позже →CVE-2026-982576 окт. 2026 г. · rds: ib: use rds_conn_drop() on protocol version mismatch
    30Наблюдать

Исправление

На какую версию обновиться

Версии с исправлением по данным вендора, реестров пакетов и Microsoft. Перед обновлением сверьтесь с бюллетенем вендора.

Продукт / пакетИсправленная версияИсточник
Linux Linux621c365739828900f32a0c1cdfe5387528a62176Вендор (CNA)
Linux Linux934bd95f1a6404dbb845951b823547abab05a649Вендор (CNA)
Linux Linuxd2710c8d938ae6a825a6463158e6e6f31eac792aВендор (CNA)
almalinux:kernel6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-core6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-debug6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-debug-core6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-debug-devel6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-debug-devel-matched6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-debug-modules6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-debug-modules-core6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-debug-modules-extra6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-devel6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
almalinux:kernel-64k-devel-matched6.12.0-211.67.1.el10_2 · AlmaLinux:10Реестр пакетов (OSV)
debian:linux7.2.8-1 · Debian:14Реестр пакетов (OSV)
red hat:kernel-64k-debug-debuginfo0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-64k-debug-devel0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-64k-debug-devel-matched0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-64k-debuginfo0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-64k-devel0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-64k-devel-matched0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-debug-debuginfo0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-debug-devel0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-debug-devel-matched0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-debuginfo0:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-debuginfo-common-aarch640:6.12.0-211.67.1.el10_2 · Red Hat:enterprise_linux:10.2Реестр пакетов (OSV)
red hat:kernel-modules-internal0:6.12.0-211.67.1.el10_2 · Red Hat:shadow_migration_toolkit:10::el10Реестр пакетов (OSV)
rocky linux:kernel0: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 на GitHubstars:02026-10-18
Репозиторий PoC на GitHubstars:12026-10-18

Контекст для исследователя

Для пентестеров и исследователей: профиль атаки, расхождение оценок, хронология, коммиты исправлений, авторы, кандидаты в варианты и цепочки, охват bug bounty. Всё выводится из имеющихся данных; без кода эксплойтов.

Хронология

От публикации до сегодня: proof of concept, модуль Metasploit, CISA KEV и запись об исправлении. Даты — как сообщают источники.

  1. Публикация
  2. Исправлениев тот же день
  3. Первый PoC+12 дн.
  4. Сегодня26 окт. 2026 г.+20 дн.
EPSS за 120 дней

Ежедневная оценка 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.

Журнал изменений

  1. Зрелость эксплойтаnone → poc
  2. CVSS— → 7.8
  3. Критичность— → high
  4. Зрелость эксплойта— → none
  5. Исправление✗ → ✓

Для отслеживаемых записей эти изменения приходят и как уведомления. →

Источники

Показать все источники (ещё 2)

Рекомендации вендоров и официальные записи. Ссылки на эксплойты/PoC намеренно исключены.

Все записи