КИБЕРБЕЗОПАСНОСТЬ

CVE-2026-98432: уязвимость Linux ведёт к удалённому root-доступу

CVE-2026-98432 с оценкой 9,8 позволяет получить root-доступ к Linux-серверу с MPTCP: патчи уже выходят, но обновились не все.

✍️ Редакция iTech News | 31.10.2026 | ⏱ 4 мин | Источник: BleepingComputer
CVE-2026-98432: уязвимость Linux ведёт к удалённому root-доступу

Уязвимость Linux CVE-2026-98432 получила оценку 9,8 из 10 и при определённых условиях позволяет удалённому неаутентифицированному атакующему выполнить команды с правами root. Исследователи Anthropic показали рабочую эксплуатацию на сервере с MPTCP-слушателем; для российских команд это повод не откладывать обновление ядер и проверить сетевые сервисы, особенно написанные на Go.

Как сообщает BleepingComputer, проблема затрагивает IPv4-реализацию TCP в ядрах Linux начиная с версии 4.4. Ошибка относится к классу use-after-free: ядро может продолжить обращаться к уже освобождённой области памяти. Причина — гонка при обработке запросов на установление TCP-соединения, когда несколько процессорных ядер почти одновременно разбирают повторно отправленный SYN-пакет.

Опасность не в самом факте падения сервера: такие ошибки нередко сначала выглядят как очередной повод для denial-of-service. В данном случае Anthropic удалось добиться большего. Их пока не выпущенная модель Claude разработала эксплойт, который обходит KASLR — механизм рандомизации адресов в памяти ядра — и запускает произвольные команды от root. По данным компании, путь до удалённого выполнения кода занял около 53 минут.

MPTCP, или Multipath TCP, позволяет одному TCP-соединению использовать несколько сетевых маршрутов одновременно. Это полезно, например, устройствам с Wi-Fi и сотовым каналом: связь может пережить переключение между ними или эффективнее распределить трафик. На сервере MPTCP встречается не так часто, как обычный TCP, но считать его экзотикой уже рискованно. Начиная с Go 1.24, TCP-слушатели на Linux автоматически используют MPTCP, если ядро поддерживает эту возможность. Администратор может и не включать функцию вручную, а сервис на Go уже расширит поверхность атаки.

Почему выключить MPTCP недостаточно

Уязвимость Linux CVE-2026-98432 связана с обычным IPv4 TCP-кодом, а не только с MPTCP. Публичная демонстрация удалённого root-доступа пока относится к конфигурации с MPTCP-слушателем, однако первопричина доступна и при стандартных TCP-соединениях. Поэтому простое отключение MPTCP не закрывает вопрос: оно может убрать продемонстрированный сценарий, но не исправляет ошибку в ядре.

В техническом описании Linux kernel CVE team указано, что при создании дочернего сокета функция tcp_v4_syn_recv_sock() передаёт параметры IP-опций из request socket без копирования. Параллельно другой CPU способен обработать повторный SYN и прочитать те же данные при отправке SYN-ACK. Сходная ситуация возможна при миграции request socket, если включён net.ipv4.tcp_migrate_req либо используется BPF-программа BPF_SK_REUSEPORT_SELECT_OR_MIGRATE. Для успешной атаки нужно попасть в узкое окно гонки, но никаких учётных данных для её запуска не требуется.

Именно сложность воспроизведения объясняет разницу в оценках. Команда CVE ядра Linux оценила баг в 9,8 балла, а Red Hat поставила 5,9 и классифицировала его прежде всего как потенциальный отказ в обслуживании: одной специально сформированной сетевой посылки недостаточно, необходима точная синхронизация. Демонстрация Anthropic меняет практический смысл этой оговорки. Если исследовательская система смогла собрать цепочку до root-команд менее чем за час, защитникам не стоит строить план обновлений на предположении, что эксплуатация слишком трудна для злоумышленников.

Патч уже принят в основное дерево Linux и перенесён в поддерживаемые ветки ядра, но обновления дистрибутивов распространяются неравномерно. По состоянию на 30 октября Canonical ещё готовила исправления для Ubuntu 22.04 LTS, 24.04 LTS, 26.04 LTS и 26.10. В списке затронутых у Red Hat находятся RHEL 8, 9 и 10; RHEL 7 не уязвим, поскольку его ядро не содержит проблемного кода. CIQ также подтверждает риск для Rocky Linux 8, 9 и 10.

У Debian ситуация определённее: исправление включено в пакет ядра 6.1.190-1 для Debian 12 Bookworm и 6.12.113-1 для Debian 13 Trixie; обновлённые пакеты доступны также в testing и unstable. Исправления для части версий уже публиковали Oracle Linux, Amazon Linux и SUSE. macOS проблема не касается: там используется ядро XNU, а не Linux.

Что проверить прямо сейчас

Командам эксплуатации стоит сопоставить инвентарь серверов с advisory своего поставщика и планировать перезагрузку после установки нового ядра — обновлённый пакет без перезапуска старое ядро не заменяет. Отдельно полезно найти внешние TCP-сервисы на Go 1.24 и новее и проверить, поддерживает ли их хост MPTCP. Не нужно объявлять каждый Go-сервис скомпрометированным, но этот список поможет расставить приоритеты для патчинга.

Если подходящего обновления ещё нет, временная защита сводится к сокращению входящей поверхности: ограничить доступ к сервисам доверенными сетями и IP-адресами, а там, где это допустимо, фильтровать IPv4 TCP-пакеты с IP-опциями до того, как они попадут в уязвимый код TCP. CIQ опубликовала примеры правил nftables для такой фильтрации. Их следует проверять на совместимость с конкретной сетью: IP-опции редки, но в некоторых инфраструктурах их блокировка может задеть легитимный трафик.

Подтверждённых атак с использованием уязвимости Linux CVE-2026-98432 в реальной среде пока нет. Однако история с автоматически включаемым MPTCP в Go хорошо показывает более широкий сдвиг: настройки сетевого стека всё чаще меняются не только руками администратора, но и обновлением рантайма или библиотеки. В таких условиях вопрос «включали ли мы эту функцию?» уже недостаточен — важнее регулярно проверять, что фактически слушают продакшн-хосты и какое ядро работает под ними.

Поделиться: Telegram X LinkedIn