Ad

CVE-2026-31680

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

В ядре Linux устранена следующая уязвимость: net: ipv6: flowlabel: отложить эксклюзивную опцию бесплатно до демонтажа RCU `ip6fl_seq_show()` просматривает глобальный хэш метки потока в seq-файле. RCU блокирует сторону чтения и печатает `fl->opt->opt_nflen`, когда опция блокируется. присутствует. Эксклюзивные метки потока в настоящее время освобождаются от `fl->opt`, как только `fl->users` падает до нуля в `fl_release()`.

Однако окружающие `struct ip6_flowlabel` остается видимой в глобальной хэш-таблице до тех пор, пока более поздняя сборка мусора удаляет его, и `fl_free_rcu()` наконец разрывает его вниз. Таким образом, одновременный читатель `/proc/net/ip6_flowlabel` может участвовать в гонке ранний `kfree()` и состояние освобожденной опции разыменования, вызывающее сбой в `ip6fl_seq_show()`. Исправьте это, оставив `fl->opt` активным до `fl_free_rcu()`.

Это соответствует срок службы, уже необходимый для прилагаемой этикетки потока, в то время как считыватели все еще может добраться до него под RCU.

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

In the Linux kernel, the following vulnerability has been resolved: net: ipv6: flowlabel: defer exclusive option free until RCU teardown `ip6fl_seq_show()` walks the global flowlabel hash under the seq-file RCU read-side lock and prints `fl->opt->opt_nflen` when an option block is present. Exclusive flowlabels currently free `fl->opt` as soon as `fl->users` drops to zero in `fl_release()`. However, the surrounding `struct ip6_flowlabel` remains visible in the global hash table until later garbage collection removes it and `fl_free_rcu()` finally tears it down. A concurrent `/proc/net/ip6_flowlabel` reader can therefore race that early `kfree()` and dereference freed option state, triggering a crash in `ip6fl_seq_show()`. Fix this by keeping `fl->opt` alive until `fl_free_rcu()`. That matches the lifetime already required for the enclosing flowlabel while readers can still reach it under RCU.

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

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

Последствия

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

Строка CVSS v3.1

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

Конфигурация От (включительно) До (исключительно)
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 5.10.253
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 5.15.203
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 6.1.168
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 6.6.134
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 6.12.81
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 6.18.22
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 6.19.12
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
3.9 7.0
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
— —
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
— —
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
— —
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
— —
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
— —
Linux Linux_Kernel
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
— —