26 марта 2026, 12:23
Раскрыты детали по уязвимости для удалённой DoS-атаки в FreeBSD через TCP

26 марта 2026 года команда проекта FreeBSD раскрыла детали ранее обнаруженной веб уязвимости для проведения удалённого эксплуатируемого вектора DoS-атаки (утечка mbuf) через TCP.
Протокол Transmission Control Protocol (TCP) — это транспортный протокол, ориентированный на установление соединения, который может использоваться в качестве верхнего уровня IP. При получении неожиданных сегментов TCP для установленного TCP-соединения в ответ могут быть отправлены так называемые сегменты «подтверждения запроса» (Challenge ACK), если выполняются определённые критерии. Скорость отправки подтверждений запроса ограничена, чтобы гарантировать, что удалённый узел не будет тратить слишком множество циклов ЦП или исходящей полосы пропускания на локальном узле, если получено большое количество неожиданных сегментов TCP. Ограничение скорости контролируется параметрами net.inet.tcp.ack_war_timewindow и net.inet.tcp.ack_war_cnt, которые по умолчанию равны 1000 (миллисекундам) и 5, то есть подтверждения запроса будут отправлены для первых 5 соответствующих сегментов TCP, полученных в течение 1 секунды, а остальные будут проигнорированы. Обработка подтверждений запроса (Challenge ACK) — это совокупный код в файле tcp_subr.c, используемый во всех доступных в системе стеках TCP. Это включает в себя стеки FreeBSD по умолчанию, RACK и BBR. Существуют различия в поведении разных стеков; в частности, базовый стек FreeBSD отправляет подтверждения запроса (Challenge ACK) большему количеству неожиданных пакетов.
Оказалось, что когда необходимо отправить подтверждение запроса (Challenge ACK), опция tcp_respond() в FreeBSD формирует и отправляет подтверждение запроса и потребляет переданный mbuf. Если подтверждение запроса не требуется, опция возвращает управление и освобождает mbuf.
Если злоумышленник находится на пути установленного TCP-соединения или может сам установить TCP-соединение с уязвимой машиной FreeBSD, то он может легко создавать и отправлять пакеты, соответствующие критериям подтверждения запроса (ACK), и заставлять хост FreeBSD терять mbuf для каждого созданного пакета сверх настроенных ограничений скорости, то есть при настройках по умолчанию созданные пакеты, сверх первых 5, отправленных в течение 1 секунды, будут терять mbuf. Технически, злоумышленники, находящиеся вне пути прямого соединения между системами, равным образом могут применять эту проблему, угадывая IP-адреса, номера TCP-портов и в некоторых случаях порядковые номера установленных соединений и подделывая пакеты в направлении машины FreeBSD, но это уже намного сложнее реализовать на практике и эффективность такой атаки будет весьма низкой.
Временное подход проблемы: утечку mbuf можно уменьшить, не ограничивая скорость отправки подтверждений (ACK). Этого можно добиться немедленно, установив параметр sysctl net.inet.tcp.ack_war_timewindow равным 0: sysctl net.inet.tcp.ack_war_timewindow=0. Это решение компенсирует утечку mbuf дополнительными затратами ресурсов ЦП/процессора, связанными с ответом на все пакеты, подходящие для подтверждения (ACK), полученные для установленных TCP‑соединений. Чтобы это модификация сохранялось после перезагрузки, добавьте его в файл /etc/sysctl.conf.
Рекомендуемое решение: апдейтнуть уязвимую систему до поддерживаемой стабильной или релизной версии FreeBSD / ветки безопасности (releng), выпущенной после даты исправления.
Эта проблема исправлена в соответствующем хеше коммита Git в следующих стабильных и релизных ветках (ветка, хеш, ревизия):
stable/15/ 1fddb5435315 stable/15-n282699;
releng/15.0/ de9e5d82581e releng/15.0-n281011;
stable/14/ b45e7530ffb9 stable/14-n273839;
releng/14.4/ 44dd8b58394b releng/14.4-n273676;
releng/14.3/ a9cba5321021 releng/14.3-n271476;

2 декабря 2025 года состоялся версия стабильного релиза FreeBSD 15.0. Начиная с ветки FreeBSD 15, время сопровождения значительных веток после формирования первого релиза (15.0) сокращено с 5 до 4 лет, а новые значительные ветки будут формироваться раз в два года. Промежуточные выпуски (15.1, 15.2, 15.3) будут разрабатываться в рамках фиксированного цикла разработки, подразумевающего публикацию новых версий в одной ветке около через каждые 6 месяцев, а не раз в год, как было ранее. С учётом одновременного сопровождения двух разных значительных веток, свежий промежуточный выпуск будет публиковаться раз в 3 месяца (15.4, 16.1, 15.5, 16.2 и тому подобное), за исключением подготовки первых релизов новых значительных веток, перед которыми будет 6-месячный перерыв в релизах (в частности, релиз 15.3 будет сформирован в июне 2027 года, версия 16.0 выйдет в декабре 2027 года, 15.4 — в марте 2028 года, 16.1 — в июне 2028 года).
10 марта 2026 года состоялся выпуск стабильной версии FreeBSD 14.4. Выпуск FreeBSD 14.0 произошёл в ноябре 2023 года. В соответствии с пояснению команды разработчиков, ветка FreeBSD 14.x станет последней с поддержкой 32-разрядных платформ. В следующей версии FreeBSD 15.x (начальный релиз в конце 2025 года) будет доступна сопровождение только 64-разрядных систем, но одновременно сохранится возможность сборки 32-разрядных приложений и использования режима COMPAT_FREEBSD32 для запуска 32-разрядных исполняемых файлов в 64-разрядном окружении.
Читают сейчас

9 минут назад
Разработчик Amazon выявил регрессию в тестовом ядре Linux 7.0, в два раза снижающую эффективность PostgreSQL
Разработчик из Amazon Сальваторе Дипьетро обнаружил регрессию при тестировании СУБД PostgreSQL и компонентов готовившегося к релизу ядра Linux 7.0. Выпуск новой версии ядра Linux, которая будет исполь

1 час назад
Экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны
В НАСА сообщили, что экипаж лунной миссии «Артемида» II на космическом корабле «Орион» преодолел больше половины пути до Луны. В настоящий момент корабль находится приблизительно в 141 тыс. км от Луны

1 час назад
Представлен публике дистрибутив Netrunner 26 на Debian 13 «Trixie» и Linux 6.16
В начале апреля 2026 года разработчик проекта Nitrux Ури Эррера объявил о выпуске и общедоступности сборки Netrunner 26 (кодовое название Twilight), спустя более года после выхода Netrunner 25. Инициа

2 часа назад
Версия библиотеки meshoptimizer 1.1
2 апреля 2026 года разработчик Arseny Kapoulkine (zeux) представил обновление открытой библиотеки meshoptimizer 1.1. Исходный исходник проекта написан на C++ и JavaScript и опубликован на GitHub под л

8 часов назад
Claude Code нашел 23-летний дефект в Linux
Николас Карлини, исследователь из Anthropic, рассказал на конференции [un]prompted 2026, что с помощью Claude Code обнаружил несколько удаленно эксплуатируемых уязвимостей в ядре Linux. Одна из них —