Баг в Linux TCP с оценкой 9,8 исправлен ещё в октябре, но Ubuntu и RHEL его всё ещё поставляют

Патч попал в апстрим 5 октября. 31 октября Ubuntu отмечает все релизы как уязвимые, а у Red Hat нет исправленного ядра для RHEL 8, 9 и 10.

Вкратце

CVE-2026-98432 позволяет удалённому неаутентифицированному пиру повредить память ядра во время TCP-рукопожатия, ещё до того, как приложение увидит соединение. Anthropic сообщает, что Claude написал рабочий эксплойт с правами root для хостов с MPTCP-слушателем (multipath TCP).

В треде системный администратор, который следит за множеством Linux-машин, говорит, что у него ни разу не встречался такой слушатель. Другой комментатор переживает за каждое устройство с ядром 4.x, которое уже никогда не получит патч.

Одна пропущенная копия, два вызова kfree() и рукопожатие, которое освобождает память слишком рано

Open Graph-карточка с разбором CVE
Open Graph-карточка с разбором CVE

В разборе от Atlasum ошибку связывают с тем, как сервер обрабатывает IP-опции. Когда ядро принимает IPv4 TCP-соединение, оно сохраняет опции, которые прислал пир, чтобы потом вернуть их в ответах. Эти сохранённые опции передавались новому соединению без копирования и освобождались при закрытии соединения, хотя другой процессор ещё мог их читать, собирая ответ на рукопожатие. Исправление Эрика Думазе заменяет два вызова kfree() на kfree_rcu(), и память освобождается только после того, как читатели закончат работу.

CNA оценивает уязвимость в CVSS 3.1 на 9,8. Уязвимы все ядра начиная с 4.4 до исправленных версий: 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.56, 7.2.10 и 7.3. Anthropic, нашедшая баг, пишет, что Claude создал эксплойт, который выполняет команды от root на серверах с MPTCP-слушателем (multipath TCP). Неудачная гонка лишь срывает рукопожатие, поэтому атакующий может просто повторить попытку. Эксплойт не опубликован, но к 31 октября как минимум шесть репозиториев на GitHub ссылались на CVE с триггерами гонки или доказательствами концепции.

Патчу три недели, а крупные дистрибутивы всё ещё отстают

Исправление опубликовали 1 октября, а в стабильные ядра оно попало с 11 по 18 октября. У Debian, SUSE, Oracle UEK и обеих версий Amazon Linux исправленные ядра уже есть. У AlmaLinux они в тестовом репозитории. Ubuntu отмечает все релизы как уязвимые, а RHEL 8, 9 и 10 не исправлены, хотя 30 октября Red Hat повысила рейтинг до «критического» и опубликовала митигацию.

Есть ли вообще кто-то с MPTCP-слушателем?

Go открывает MPTCP-слушатели по умолчанию с версии 1.24, в зависимости от строки go в go.mod. Именно это и тревожило автора разбора. Сисадмины были не так уверены.

«Я не знаю ни одной Linux-машины под моим присмотром с multipath TCP-слушателем, а у меня их немало. MP обычно подразумевает какой-то роутер, и пересечение на диаграмме Эйлера становится всё меньше» — сисадмин, который управляет многими Linux-хостами

Облачные пользователи получили другое облегчение. Один комментатор процитировал бюллетень AWS: WAF, Application и Classic Load Balancer, CloudFront и API Gateway не передают недоверенные TCP-соединения напрямую в инстансы клиентов. При этом AWS советует обновить самостоятельно управляемые инстансы в течение 30 дней.

Правило файрвола, которое кто-то уже два дня гоняет

Пока обновления ядра нет, пользователь, который запускает его на нескольких серверах и домашнем роутере, выложил правило ufw. Оно отбрасывает TCP-пакеты, у которых поле длины IP-заголовка больше 5, то есть любые IP-опции. В отличие от триггера эксплойта, который работает только на SYN, это правило отбрасывает все такие пакеты, потому что любой TCP-пакет теоретически может добраться до бага. По его словам, счётчик совпадений на загруженных VPS не менялся, кроме тех случаев, когда он сам вызывал его вручную, и ничего не сломалось ни на серверах, ни на десктопах, ни на аппаратном роутере.

Длинный хвост: роутеры и камеры

«Любое умное устройство в мире, которое не является сервером, десктопом или микроконтроллером, скорее всего работает на Linux» — комментатор, который выступает за юридический минимум поддержки подключённых устройств

Он предлагает правило: любое устройство в публичном интернете должно поставляться с гарантированными обновлениями безопасности минимум на десять лет. Для устройств, которые этот патч никогда не получат, единственная доступная защита — отбрасывать пакеты с опциями на границе сети.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 2 из 11 Читать дальше
🚀Tech

Математическая клавиатура, колбэк YouTube и одна ссылка открыли аккаунты ChatGPT

Исследователи из Parameter сделали публичный шеринг ChatGPT, который для любого открывшего его запускал JavaScript от имени chatgpt.com. OpenAI заплатила 5 000 долларов.

★ 303 · 💬 150 · parameter.ai · 3 мин