Уязвимость в ядре Linux позволяет атаковать сервер через входящее TCP-соединение
Критическая ошибка в ядре Linux позволяет атаковать сервер через входящее TCP-соединение без пароля. Владельцам серверов нужно проверить статус исправления для своего дистрибутива и установить обновление.
Разработчики ядра Linux 11 и 15 октября выпустили исправления для CVE-2026-98432 — ошибки, через которую можно атаковать сервер по сети без пароля и действий владельца. Как пишет Tproger, уязвимость затрагивает обработку входящих TCP-соединений по IPv4 и присутствует в ядре с версии 4.4. Команда ядра оценила её критичность в 9,8 балла по CVSS. На 1 ноября исправлений для Ubuntu и RHEL ещё нет. Владельцам серверов стоит проверить статус патча для своего дистрибутива и версию работающего ядра; если исправление доступно — установить его и перезагрузить машину.
Почему ошибка возникает до проверки пароля
При установлении TCP-соединения ядро может сохранить служебные опции из заголовка IPv4-пакета, чтобы использовать их в ответе. В уязвимом коде эти данные передаются новому соединению без копирования. Если соединение быстро закрывается, память освобождается, хотя другое ядро процессора ещё может читать её при обработке повторного запроса на подключение.
Это ошибка типа use-after-free: участок памяти уже отдан под другие данные, но работа с ним продолжается. Согласно записи CVE, атакующий может добиться утечки фрагмента памяти ядра, записи за пределы буфера или падения системы. Обработка происходит раньше, чем запрос попадёт к веб-серверу, SSH или базе данных. Поэтому надёжный пароль и настройки приложения сами по себе от неё не защищают.
Исправление заменяет немедленное освобождение памяти на механизм, который ждёт завершения чтения данных. Для поддерживаемых веток Linux названы исправленные версии ядер, в том числе 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113 и 6.18.56. Но дистрибутивы переносят патчи в собственные сборки: один лишь номер версии ядра без проверки данных дистрибутива не даст надёжного ответа.
27 октября Anthropic сообщила, что Claude собрала рабочий эксплойт: в опыте компании он удалённо запускал команды с правами root на сервере с открытым портом Multipath TCP (MPTCP). На атаку ушло около 53 минут. Код компания не опубликовала; на 1 ноября этой CVE не было в каталоге CISA KEV, куда включают уязвимости, уже используемые в реальных атаках. Отсутствие записи в каталоге не отменяет продемонстрированную возможность эксплуатации.
Что проверить владельцам сайтов и администраторам
В первую очередь это вопрос для тех, чьи Linux-серверы принимают входящие TCP-подключения по IPv4: VPS, хостов с сайтами и базами данных, узлов Kubernetes. Контейнер использует ядро хоста, так что обновление образа Docker проблему не решит. При контейнерной виртуализации VPS ядро может находиться под управлением провайдера — тогда обновление зависит от него.
По состоянию на 1 ноября исправления уже доступны для Debian, Amazon Linux и Oracle Linux; у SUSE статус зависит от версии и ядра. Для Ubuntu, а также RHEL 8, 9 и 10 патч ещё готовится. Проверять нужно состояние именно своего дистрибутива и работающего ядра командой uname -r. Если исправленное ядро установлено, но сервер не перезагружен, оно ещё не защищает систему. Исключение — доступное для конкретной конфигурации живое патчирование.
Пока обновления нет, Red Hat и AlmaLinux предлагают снизить риск правилом nftables, отбрасывающим входящие TCP-пакеты с опциями в заголовке IPv4. Перед применением его следует проверить на тестовой машине: правило может повлиять на маршрутизируемый трафик и несовместимо с сетями, использующими опции IPv4 для меток CIPSO. Кроме того, оно не заменяет исправленное ядро. Вариант AlmaLinux применяется на этапе prerouting и охватывает также трафик к контейнерам; правило Red Hat на этапе input защищает только сам хост.
Ещё одна временная мера — отключить MPTCP, если он не нужен. По сообщению команды Go, начиная с Go 1.24 программы на Linux по умолчанию открывают слушающие сокеты с MPTCP. Проверить открытые порты можно командой ss -Mlnp, а текущее состояние механизма — sysctl net.mptcp.enabled. После отключения необходимо перезапустить сервисы с уже открытыми MPTCP-сокетами; в отдельных сетевых пространствах контейнеров настройку проверяют отдельно. Важно: MPTCP требовался показанному Anthropic эксплойту, но сама ошибка ядра им не ограничена.
Моё мнение: временная защита не должна стать постоянной
Я бы начал с перечня хостов, которые принимают подключения извне, и проверки того, какое ядро действительно запущено на каждом из них. Особенно легко пропустить узел Kubernetes или VPS, где обновление ядра зависит не от команды сайта. Для бизнеса это тот случай, когда разговор об обновлениях касается не только разработчиков: перезагрузку работающего сервера тоже нужно запланировать.
Отключение MPTCP и фильтрация пакетов выглядят разумными промежуточными шагами там, где патч ещё не вышел. Но я бы не отмечал задачу выполненной после настройки nftables: у временных мер есть ограничения, а уязвимый код остаётся в ядре. Финальная проверка — установленное исправление и работа сервера уже на обновлённом ядре.
Источники
Откуда новость. Текст — пересказ своими словами, факты — из источника, мнение — автора.
full-stack-разработчик
Делаю сайты и внутренние инструменты для небольших команд в Польше. Люблю, когда CMS можно заменить без переписывания всей бизнес-логики.
Все публикации автораПохожие статьи
В ядре PHP исправили уязвимости, позволяющие удалённо выполнить код
В ядре PHP исправили уязвимости, которые могли привести к удалённому выполнению кода и чтению памяти процесса. Владельцам сайтов важно проверить версию PHP и установить обновление безопасности.
ISPsystem выпустила обновления VMmanager после атаки через уязвимость нулевого дня
ISPsystem выпустила обновления безопасности VMmanager и переработала защитную архитектуру после атаки через уязвимость нулевого дня. Проверка инфраструктур провайдеров продолжается.
PHP выпустил четыре обновления для устранения двух критических уязвимостей
PHP выпустил четыре обновления для устранения двух критических уязвимостей: при определённых условиях атакующий мог выполнить код на сервере. Владельцам сайтов и разработчикам рекомендуется обновить PHP.
Обсуждение 4
Игорь Гомеш
Ещё нюанс: проверять нужно не только установленную версию пакета ядра, но и то, какое ядро реально запущено — после обновления без перезагрузки сервер может продолжать работать на уязвимой версии. Временное отключение IPv4 TCP-опций может снизить риск, но это не замена патчу: после установки исправления лучше отдельно проверить, что временную настройку убрали.
Тьягу Эштевеш
кажется, с временным отключением TCP-опций легко забыть про настройку после патча 😅 Как лучше проверить, что её действительно убрали, если параметры задавались через sysctl?
Мурат Осмонов
@tiago.esteves У нас на сервере временные настройки однажды пережили уже сам повод для них: в заказах на обслуживание указали не только включение через sysctl, но и отдельную задачу на проверку после обновления ядра. Я бы сверял текущее значение через sysctl и поискал, не осталось ли параметра в файлах sysctl.d или в конфигурации сетевых служб — иначе после перезагрузки настройка может снова примениться.
Михал Ковальский Автор публикации
Если задавали через sysctl, после патча проверьте эффективное значение `sysctl net.ipv4.tcp_*` для тех параметров, которые отключали, и сравните с нормальными значениями для вашей системы. Но важно проверить и постоянную конфигурацию — файлы в `/etc/sysctl.conf` и `/etc/sysctl.d/`: иначе настройка может вернуться после перезагрузки; после удаления временного правила примените sysctl заново и перепроверьте значения.