Уязвимости в IPv6-стеке и netfilter ядра Linux позволяют удалённо нарушить целостность и доступность данных

vulnerability

В ядре Linux нашлись две уязвимости, которые связаны с обработкой сетевых пакетов и обе допускают удалённое воздействие на конфиденциальность, целостность и доступность информации. Первая затрагивает разбор расширенных заголовков протокола IPv6, вторая - подсистему фильтрации пакетов netfilter. По данным Банка данных угроз безопасности информации (BDU) обе получили оценку 9,8 по шкале CVSS 3.1, то есть критический уровень. Злоумышленнику не нужны ни учётная запись, ни действия пользователя: достаточно отправить по сети набор специально подготовленных пакетов. В описаниях указано, что эксплуатировать уязвимости можно удалённо, а сведения о наличии готового эксплойта (вредоносного кода, использующего уязвимость) пока уточняются.

Детали уязвимостей

Первой проблеме присвоен идентификатор BDU:2026-14382 (CVE-2026-63922). Речь идёт об обработке расширенных заголовков IPv6. Эти заголовки расширяют обычный пакет IPv6 дополнительными служебными полями, и ядро обязано разобрать их всякий раз, когда такой пакет приходит на сетевой интерфейс. При разборе одного из типов таких полей ядро обращается к участку памяти, который к этому моменту уже освобождён. Подобная ошибка называется разыменованием указателя с истекшим сроком действия, а по классификации CWE она проходит как CWE-825. Освобождённая область памяти может быть переиспользована под другие данные, поэтому содержимое, попавшее туда, ядро воспринимает как свои служебные структуры. В результате удалённый нарушитель способен испортить внутренние данные ядра, прочитать чужие сведения или добиться сбоя в работе системы.

Вторая уязвимость описана под идентификатором BDU:2026-14398 (CVE-2026-64150) и относится к подсистеме netfilter, которая отвечает за фильтрацию и преобразование сетевого трафика в Linux. Здесь проблема лежит в компоненте nftables, то есть в механизме настройки правил обработки пакетов. Ошибка классифицируется как неправильная синхронизация, или состояние гонки. Так называют ситуацию, когда итог зависит от того, в каком порядке выполняются параллельные операции, которые должны были быть согласованы между собой. Иными словами, обработка пакета внутри инкапсулированного (вложенного) соединения может пойти по неверному пути, если два потока вычислений вмешаются друг в друга. На практике это снова означает работу с повреждёнными структурами данных и возможный отказ ядра. Обе уязвимости отнесены к классу ошибок кода, а способом эксплуатации в обоих случаях названо манипулирование структурами данных и их состоянием.

Масштаб затронутых систем широк. Первая уязвимость присутствует в ядре Linux начиная с ветки 2.6.19 и заканчивая актуальными ветками, а вместе с ядром под неё попадают дистрибутивы с длительной поддержкой. В списке значатся Red Hat Enterprise Linux, Ubuntu LTS, Debian GNU/Linux, причём названы как давно выпущенные версии, так и самые свежие. Вторая уязвимость затрагивает более узкий набор: она появилась в относительно новых ветках ядра и потому отмечена у последних выпусков тех же дистрибутивов. Поскольку перечисленные системы работают на серверах, в облачной инфраструктуре и на сетевом оборудовании, риск затрагивает прежде всего организации, а не домашних пользователей. Особенность ситуации в том, что обе подсистемы, IPv6 и netfilter, включены во многих конфигурациях по умолчанию. Значит, для атаки не требуется, чтобы администратор специально активировал какой-то редкий модуль.

Исправления уже внесены в основную ветку ядра и перенесены в стабильные ветки, а дистрибутивы получили собственные обновления пакетов. Именно поэтому способом устранения названо обновление программного обеспечения: администратору нужно установить свежие пакеты ядра и перезагрузить систему, потому что заменить работающее ядро на лету нельзя. После перезагрузки стоит убедиться, что загрузилась именно новая версия, а не прежняя. Там, где обновления от производителя по каким-то причинам недоступны, BDU советует опираться на методический документ ФСТЭК России, утверждённый 25 декабря 2022 года и посвящённый безопасной настройке операционных систем Linux. Речь идёт об ограничении сетевого доступа к уязвимым сервисам, разделении ролей и других организационных и технических мерах, которые снижают вероятность эксплуатации до выхода заплатки.

Отдельно стоит сказать о характере этих ошибок. Обе находятся в сетевом стеке, то есть в той части ядра, которая принимает данные из внешней сети и работает с ними до того, как включатся прикладные программы. Дополнительный риск создаёт то, что для эксплуатации не нужны ни права в системе, ни участие человека. Достаточно сетевой доступности уязвимого узла, а сведения о реальных атаках пока не подтверждены. Пока нет и данных о том, что эксплойты для этих уязвимостей уже применяются на практике. Тем не менее история ядра Linux показывает, что ошибки управления памятью в сетевых подсистемах регулярно становятся основой для атак, поскольку сочетают удалённый вектор с высокой оценкой последствий.

Практический вывод для организаций прост. Инвентаризация парка Linux-систем и контроль версий ядра остаются базовой гигиеной. Если в инфраструктуре есть узлы с доступом из недоверенных сетей, обновление ядра стоит планировать в первоочередном порядке, а не откладывать до планового окна обслуживания. Для систем, которые нельзя перезагрузить быстро, разумно временно ограничить доступ к сетевым сервисам и внимательнее следить за журналами на предмет аномальных сбоев. Уязвимости этого типа напоминают, что безопасность операционной системы зависит не от одного патча, а от регулярного цикла обновлений и понимания того, какие сетевые компоненты действительно доступны извне.

Ссылки

Комментарии: 0