Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

Удалённо эксплуатируемая уязвимость в TCP-стеке ядра Linux

30.10.2026 08:36 (MSK)

Компания Anthropic раскрыла информацию о критической уязвимости (CVE-2026-98432) в TCP-стеке ядра Linux, допускающей удалённое выполнение кода через отправку специально оформленных пакетов. Заявлено о создании рабочего эксплоита, позволяющего выполнить код на уровне ядра и удалённо получить права root в системе. Подготовленный эксплоит пригоден для атаки на системы с серверными процессами, принимающими соединения через сетевые сокеты, поддерживающие использование протокола MPTCP (Multipath TCP). Поддержка MPTCP может быть активирована в привязке к отдельным сетевым сокетам, что делается по умолчанию в стандартной библиотеке языка Go, начиная с версии Go 1.24 (февраль 2025 года).

Подготовленный эксплоит может быть применён при использовании любых серверных приложений на языке Go, включая HTTP-сервер Caddy, при наличии возможности отправки сетевых пакетов на создаваемый ими слушающий сокет. Так как уязвимость присутствует непосредственно в стеке IPv4 и не специфична для MPTCP, не исключается создание эксплоитов, работающих без привязки к MPTCP, но подобные эксплоиты пока не продемонстрированы. Например, возможна эксплуатация уязвимости при обработке запросов миграции сокетов, доступная в конфигурациях с параметром net.ipv4.tcp_migrate_req=1 или при использовании eBPF-программ с опцией BPF_SK_REUSEPORT_SELECT_OR_MIGRATE.

Уязвимость вызвана состоянием гонки, возникающим при одновременной обработке повторно переданных SYN-запросов при установке TCP-соединения. Так как функция tcp_v4_syn_recv_sock() передаёт дочернему сокету параметры из структуры ireq->ireq_opt через ссылку, а не через копирование, при определённом стечении обстоятельств возникает ситуация, когда память под структуры inet_opt и ireq_opt с параметрами сокета уже освобождена, но связанные с ней опции сокета продолжают использоваться (use-after-free).

Удалённая эксплуатация осуществляется через отправку серии синхронизированных во времени сетевых запросов. Созданный эксплоит успешно применим в том числе к ядрам, в которых используется рандомизация адресов (KASLR), но попадание в окно состояния гонки занимает достаточно много времени и требует большого числа повторных попыток. Эксплуатацию упрощает то, что не попадание в окно состояния гонки приводит лишь к сбросу сеанса установки соединения (handshake), а не краху ядра, что даёт возможность бесконечно продолжать попытки. В созданном прототипе эксплоита на проведение атаки потребовалось около часа - 48 минут на определение раскладки памяти и ещё 5 минут на организацию выполнения кода.

Гарантированно блокирующие уязвимость обходные пути защиты пока не представлены - как единственный надёжный вариант предлагается установить обновление ядра. Проблема проявляется начиная с ядра Linux 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. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

Из рекомендаций по противодействию конкретным методам эксплуатации, не блокирующих уязвимость в общем виде, можно отметить отключение поддержки MPTCP и выставление sysctl-параметра ядра net.ipv4.tcp_migrate_req в значение 0:


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

Для определения наличия в системе процессов, использующих сокеты с MPTCP, можно использовать команды:


   ip mptcp endpoint show
   ip mptcp limits show

Для отключения поддержки MPTCP в программах на языке Go, следует использовать флаг "multipathtcp=0", для выставления которого можно установить переменную окружения "GODEBUG=multipathtcp=0". Для отключения поддержки MPTCP на этапе сборки можно добавить "godebug multipathtcp=0" в файл с модулем go.mod. В коде приложения использование MPTCP можно отключить через функции net.Dialer.SetMultipathTCP и net.ListenConfig.SetMultipathTCP.

Помимо рассмотренной проблемы компания Anthropic также анонсировала серию локально эксплуатируемых уязвимостей в ядре Linux, OpenBSD и FreeBSD, позволяющих получить права root в системе и выйти из изолированных контейнеров; уязвимости в Chrome и Safari, приводящие к выполнению кода в системе при открытии специально оформленных web-страниц; уязвимость в ядре Windows, приводящая к аварийному завершению работы; уязвимость в платформе Android, позволяющая обойти блокировку экрана и получить доступ к персональной информации и фотографиям без разблокировки устройства (атака продемонстрирована на смартфоне Google Pixel 9).

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Удалённо эксплуатируемая уязвимость в драйвере NVMe-oF/TCP из состава ядра Linux
  3. OpenNews: 19 удалённо эксплуатируемых уязвимостей в TCP/IP-стеке Treck
  4. OpenNews: Уязвимости в TCP-стеках Linux и FreeBSD, приводящие к удалённому отказу в обслуживании
  5. OpenNews: Уязвимость в IPv6-стеке ядра Linux, допускающая удалённое выполнение кода
  6. OpenNews: PwnEscape - уязвимость в сетевом стеке ядра Linux, позволяющая обойти изоляцию гипервизоров и контейнеров
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66575-tcp
Ключевые слова: tcp, linux, rce, security
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Илья (??), 08:59, 30/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Интересно, как будут рекламировать нейронки, когда они найдут все подобные уязвимости и упрутся
     
     
  • 2.6, Аноним (6), 09:16, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/–
    > когда они найдут все подобные уязвимости

    Сишного код на 100 лет написано.
    Плюс всегда будут луddиты, которые будут писать код без проверок, фаззинга, анализа нейронками.

    > упрутся

    Будут создаваться более специализированные нейронки, которые будут искать проблемы в коде, который пишут обычные.

     
  • 2.21, Аноним (21), 09:54, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Ну это уже вообще невесело. Это не какой-то там LPE.
     
  • 2.24, Аноним (24), 09:56, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Возможно так:

    Ваша нейронка не осиливает искать дырени в СИ коде?
    Просто перепишите его на раст!
    Наш новый РастоПереписыватель3000 позволит сделать это за пару недель!*
    С минимальным потреблением токенов! Вам хватит токенов включенных в вашу подписку**

    * для сферического хеллоуворлда из палаты мер и весов
    ** при покупке тарифного плана Pro Ultra Mega.

     
  • 2.26, Alladin (?), 10:01, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    - нейронка создает
    - нейронка находит
    - все ААА!!

    проверенный путь

     

  • 1.2, Аноним (2), 08:59, 30/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Ну хоть кто-то находит все эти закладки, но представьте только, сколько новых спрячет.
     
     
  • 2.15, Аноним (15), 09:32, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Ты прям иллюстрация анекдота про слепую девочку и миску пельменей.

    Кто спрячет? ИИшка или пограммист?
    Если пограммист - то он или бракодел (и тут ИИшка может его попытаться остановить) или намеренный вредитель.
    Во втором случае ты с ним ну никак бороться не сможешь, кроме как делать тщательное ревью (с привлечением той же ИИшки).

     
     
  • 3.18, Аноним (2), 09:43, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Ты никогда не узнаешь, каким именно образом модифицированы веса модели, предоставленные для доступа.
     
  • 2.17, опеншлёпивпродакшн (?), 09:41, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Придётся стать умнее :)
     

  • 1.3, Аноним (3), 09:04, 30/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    Похоже, что применение ИИ для поиска уязвимостей встряхнет интернет основательно.
     
     
  • 2.14, Аноним (14), 09:29, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/–
    И заканает админов постоянным требованием обновить ядро в ночи ибо прод работает днем
     
     
  • 3.19, Аноним (19), 09:44, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Вот только еще и обновить возможно далеко не всегда и не везде. Где-то могут быть модули специфичные, которые не собираются с ядром новее, а где-то т.н. ембеддед устройства на которых давно болт от производителей и разрабов прошивок лежит. В первом случае еще что-то можно сделать, во втором уже ничего
     

  • 1.4, Аноним (4), 09:13, 30/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    > Заявлено о создании рабочего эксплоита, позволяющего выполнить код на уровне ядра и удалённо получить права root в системе.

    Что ж они не вылажили его "случайно" в общий доступ, на радость скрипткидди и какерам?

    > Уязвимость вызвана состоянием гонки [и приводит к] (use-after-free).

    Хаха, классик (с)

    > Проблема проявляется начиная с ядра Linux 4.4

    Где вы были 10 лет, тысячи глаз?

     
     
  • 2.7, Аноним (2), 09:16, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Так кто будет искать, если никто не использует? Большинство уязвимостей обнаруживается в таком вот мёртвом коде.
     
     
  • 3.9, Аноним (4), 09:20, 30/10/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/–
     
     
  • 4.12, Аноним (2), 09:24, 30/10/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/–
     
  • 2.11, Аноним (11), 09:24, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    В этих тысячах и ваши были, почему не нашли?
     
     
  • 3.13, Аноним (-), 09:29, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Кто? я?! (с)

    А если без шуток то я в ядре не колупаюсь, тк мне это не очень интересно.
    Зато разрекламированные тыщиглаз и преимущества отрытого кода по какой-то странной причине разбиваются о реальность.

     
     
  • 4.23, Diozan (ok), 09:55, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Вот потому и нашли уязвимость, что лично Вы в ядре не копались. Ребяты, я нашёл, кто виноват! Ату его!
     
  • 2.22, llolik (ok), 09:55, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    > Где вы были 10 лет, тысячи глаз?

    Гонки (race conditions) без автоматизированного тестирования, т.е. глазами, поймать в принципе достаточно нетривиально. Только если самые банальные, или если наткнуться на её проявление в формате "всё развалилось нафиг, что тут происходит".

    Нейронка, в этом плане, хороша тем, что у неё мозги железные (т.е. не устаёт) и большой контекст (т.е. в фокусе внимания она может держать побольше, чем среднестатистический кожаный) - она может "бомбардировать" код условиями разной степени упоротости до момента "пока электричество не отключат" и обнаружить условие, когда что-то пошло не так, даже если этот момент сильно нетривиален и натыкались на него, в лучшем случае, один из миллиарда пользователей (да и тот не понял, что произошло).

     

  • 1.5, Аноним (6), 09:13, 30/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    > net/ipv4/af_inet.c
    > net/ipv4/tcp_ipv4.c
    > use-after-free
    > выполнить код на уровне ядра и удалённо получить права root в системе

    Оу, сишная dыpа, алилуя, сишная dыpа, ha-ha!

    > Проблема проявляется начиная с ядра Linux 4.4

    Релизнулось 10 января 2016, всего 10 лет дыpeни))

     
     
  • 2.8, онанист (?), 09:19, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    и чо- много взломов?
     
     
  • 3.10, Аноним (10), 09:22, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    А точно, как я забыл!
    По кодексу хакеров, когда ты кого-то взломал, то ты должен сообщить им что их взломали.
    Желательно точно сообщив, как именно.

    Так же, да?
    Или есть взлом, а как никто не знает?)

     

  • 1.16, Агл (ok), 09:33, 30/10/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    уязвимость в TCP стеке ядра Linux, но в том же абзаце упоминается и Go. И советы только по софту на Go. Значит о другом ПО, принимающем соединения, можно не беспокоится? Или по каждому смотреть, умеет ли оно в это MPTCP, включено ли оно по-умолчанию, в какой версии и тд?
     
     
  • 2.20, Аноним (24), 09:53, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    ИМХО будет как с пред уязвимостями:
    нашли в связке с ГОшкой,
    потом все спецы ломанулись просматривать этот файл и соседние,
    наколупали еще 100500 вариантов похожей ошибки.

    Буду рад если ошибаюсь)

     
  • 2.25, Энтомолог_русолог (ok), 10:01, 30/10/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Для эксплуатации уязвимости нужно настроить использование MPTCP на сервере и установить на него Caddy. После этого ты сможешь воспользоваться уязвимостью и получить на сервере рута… Постой! У тебя же уже есть на нем рут которым ты настраивал MPTCP и ставил Caddy

    И вот так всегда

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг: