В ядре Linux обнаружена критическая уязвимость CVE-2026-98432 в стеке TCP/IPv4. CVSS: 9.8. Ошибка существует с версии ядра 4.4 и позволяет атакующему без каких-либо учётных данных выполнить код с правами root на сервере — удалённо, через обычное сетевое соединение. Уязвимость раскрыта компанией Anthropic, которая также опубликовала работающий прототип эксплоита.

В чём проблема

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

Атака не требует никакой авторизации и работает на сетевом уровне — достаточно, что сервер принимает TCP-соединения. Прототип эксплоита, опубликованный исследователями, обходит защиту KASLR и получает выполнение кода. В среднем атака занимает около 53 минут: 48 минут на определение раскладки памяти и ещё 5 на собственно выполнение кода. Промах в попытке не приводит к падению сервера — только к сбросу соединения, поэтому атакующий может повторять попытки неограниченно.

Основной вектор атаки использует MPTCP (Multipath TCP) — расширение протокола TCP. Go 1.24 и новее включают MPTCP по умолчанию для всех слушающих сокетов, поэтому под удар попадают серверы, написанные на Go: в частности, Caddy. Из других веб-серверов MPTCP поддерживается опционально в nginx 1.29.7+, HAProxy 3.1.0+ и Traefik 2.11.26+ — но там он по умолчанию выключен.

Статус патчей

Исправление включено в ядра upstream: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 и 7.3.

Debian 12/13 — исправлено.
Ubuntu 22.04, 24.04, 26.04 — патч готовится, исправленного пакета пока нет.
RHEL 8, 9, 10 — Red Hat отложил исправление; пакета нет. AlmaLinux и Rocky Linux ждут патча от Red Hat.
RHEL 7 — не затронут.

Временные меры

Пока обновление ядра недоступно, снизить риск помогает отключение MPTCP:

sysctl -w net.mptcp.enabled=0
sysctl -w net.ipv4.tcp_migrate_req=0

Для Go-приложений MPTCP отключается переменной окружения:

GODEBUG=multipathtcp=0

Это снижает риск, но не устраняет уязвимость полностью. Надёжное решение — только обновление ядра.

← Ко всем новостям