CVE-2026-23231

HIGH CVSS 3.1: 7,8 EPSS 0.01%
Обновлено 2 апреля 2026
Linux
Параметр Значение
CVSS 7,8 (HIGH)
Уязвимые версии 3.16 — 6.6.128
Устранено в версии 6.1.165
Тип уязвимости CWE-416 (Использование памяти после освобождения)
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: netfilter: nf_tables: исправлено использование после освобождения в nf_tables_addchain() nf_tables_addchain() публикует цепочку в table->chains через list_add_tail_rcu()nft_chain_add()) перед регистрацией перехватчиков. Если nf_tables_register_hook() завершается неудачно, путь к ошибке вызывает nft_chain_del() (list_del_rcu()), за которым следует nf_tables_chain_destroy() без промежуточного периода RCU. Это создает два условия использования после освобождения: 1) Плоскость управления: nf_tables_dump_chains() пересекает таблицу->цепочки под rcu_read_lock().

Параллельный дамп все еще может ходить цепочку, когда путь ошибки освобождает ее. 2) Путь пакета: для NFPROTO_INET кратко nf_register_net_hook() устанавливает перехватчик IPv4 до сбоя регистрации IPv6. Пакеты вход в nft_do_chain() через временный перехват IPv4 все еще может быть разыменование цепочки->blob_gen_X, когда путь ошибки освобождает цепь. Добавьте синхронизацию_rcu() между nft_chain_del() и уничтожением цепочки. так что все читатели RCU - как потоки дампа, так и пакеты в полете оценка - завершена до освобождения цепочки.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: fix use-after-free in nf_tables_addchain() nf_tables_addchain() publishes the chain to table->chains via list_add_tail_rcu() (in nft_chain_add()) before registering hooks. If nf_tables_register_hook() then fails, the error path calls nft_chain_del() (list_del_rcu()) followed by nf_tables_chain_destroy() with no RCU grace period in between. This creates two use-after-free conditions: 1) Control-plane: nf_tables_dump_chains() traverses table->chains under rcu_read_lock(). A concurrent dump can still be walking the chain when the error path frees it. 2) Packet path: for NFPROTO_INET, nf_register_net_hook() briefly installs the IPv4 hook before IPv6 registration fails. Packets entering nft_do_chain() via the transient IPv4 hook can still be dereferencing chain->blob_gen_X when the error path frees the chain. Add synchronize_rcu() between nft_chain_del() and the chain destroy so that all RCU readers -- both dump threads and in-flight packet evaluation -- have finished before the chain is freed.

Характеристики атаки

Способ атаки
Локальный
Нужен локальный доступ
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты 5

Конфигурация От (включительно) До (исключительно)
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.16 6.1.165
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.2 6.6.128
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.7 6.12.75
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.13 6.18.14
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
6.19 6.19.4