FreeBSD 14.5-RC1 — исправления ядра, OpenSSL и переход kmods на пакеты 14.5

29 августа 2026 года FreeBSD Project представил FreeBSD 14.5-RC1, первый кандидат в релизы и предпоследнюю предварительную версию перед официальным выпуском 14.5-RELEASE. В RC1, по сравнению с BETA3, добавили пять обновлений безопасности, касающихся hwpmc, звуковой системы, OpenSSL, TTY и разделяемой памяти POSIX. Репозиторий FreeBSD-kmods перевели на пакеты, совместимые с FreeBSD 14.5.

FreeBSD 14.5-RC1 — исправления ядра
FreeBSD 14.5-RC1 — исправления ядра

FreeBSD 14.5 вышла на финальный этап тестирования

Официальный анонс FreeBSD 14.5-RC1 опубликован 29 августа. Сборки RC1 фактически стартовали 28 августа в соответствии с графиком Release Engineering, а стабильный FreeBSD 14.5-RELEASE планируется собирать с 4 сентября и объявить 8 сентября 2026 года.

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

По официальному графику FreeBSD 14.5 должна поддерживаться до 30 июня 2027 года. FreeBSD 14.4 останется поддерживаемой до 31 декабря 2026 года, поэтому переход на RC1 ради продления поддержки не требуется: в производственной среде разумнее дождаться 14.5-RELEASE.

Проект прямо предупреждает, что BETA- и RC-сборки предназначены для тестирования и не рекомендуются для постоянной эксплуатации на production-системах. Ценность RC1 прежде всего в ранней проверке инфраструктуры, которая после выхода 14.5-RELEASE должна будет работать без сюрпризов.

Пять security advisory после BETA3

Главное отличие RC1 от FreeBSD 14.5-BETA3 — включение исправлений по пяти бюллетеням безопасности: FreeBSD-SA-26:56, 58, 61, 62 и 63. Четыре из них связаны с ядром или драйверами и затрагивают сценарии локальной эскалации привилегий либо нарушение границ доступа; ещё один относится к набору уязвимостей OpenSSL.

AdvisoryКомпонентСуть проблемыПрактический риск
FreeBSD-SA-26:56.hwpmchwpmc(4)PMCs некорректно сохранялись при exec с изменением учётных данныхНепривилегированный процесс мог продолжить наблюдение за процессом после запуска setuid/setgid-программы
FreeBSD-SA-26:58.soundзвуковая подсистемаUse-after-free в SNDCTL_DSP_SYNCSTARTНа системах с несколькими аудиоустройствами локальный пользователь мог использовать ошибку для повышения привилегий
FreeBSD-SA-26:61.opensslOpenSSLНабор уязвимостей в криптографической библиотекеИсправления затрагивают встроенный TLS/crypto-стек базовой системы
FreeBSD-SA-26:62.ttyTTYUse-after-free через TTY ioctlНепривилегированный локальный пользователь мог повысить привилегии
FreeBSD-SA-26:63.posixshmPOSIX shared memoryTOCTOU-гонка при настройке large-page shared memoryЛокальный пользователь мог привести объект к неконсистентному состоянию и повысить привилегии

Особенно показательны SA-26:62 и SA-26:63. В первом случае обработчик TIOCSCTTY отпускал блокировку терминала для получения блокировки дерева процессов, а после возврата не перепроверял состояние TTY. Во втором случае два параллельных вызова могли одновременно увидеть POSIX shared memory-объект как ещё не настроенный и записать конфликтующие параметры размера страниц.

Для серверов с локальными пользователями, jail-окружениями, CI-агентами или иными многопользовательскими сценариями эти исправления важнее, чем для изолированной домашней машины. Сам RC1 не является поводом переводить production на тестовую ветку, но показывает, какие исправления уже будут присутствовать в итоговом 14.5-RELEASE.

Что FreeBSD 14.5 меняет относительно 14.4

RC1 содержит не только последние исправления безопасности. Текущие release notes FreeBSD 14.5 описывают накопленные изменения ветки 14-STABLE после 14.4-RELEASE; при этом проект предупреждает, что документ ещё дополняется по мере завершения релизного цикла.

inotify появился в ядре и libc

FreeBSD 14.5 получает системные вызовы и пользовательские API inotify_init, inotify_init1, inotify_add_watch и inotify_rm_watch. Это повышает исходную совместимость с программами, которые используют Linux inotify для слежения за изменениями файловой системы.

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

Обновлены базовые компоненты

Среди зафиксированных в release notes обновлений базовой системы:

  • LLVM и связанные компоненты обновлены до 21.1.8;
  • Expat — до 2.8.1;
  • file(1) — до 5.47;
  • ldns — до 1.9.2;
  • less(1) — до 704;
  • libarchive — до 3.8.7;
  • libpcap — до 1.10.6;
  • ncurses — до 6.6;
  • tcpdump — до 4.99.6;
  • Unbound — до 1.26.0;
  • xz — до 5.8.3;
  • tzcode и tzdata — до 2026c.

Для систем, которые стараются оставаться на FreeBSD 14 вместо перехода на ветку 15, 14.5 таким образом становится крупной точкой обновления базового userland и toolchain без смены major-версии.

Изменения, способные затронуть конфигурации

Поведение pwd(1) по умолчанию меняется с -P на -L, то есть команда следует логической семантике путей согласно POSIX. Скриптам, где критично получать физический путь после разрешения символических ссылок, лучше задавать pwd -P явно, а не полагаться на прежнее значение по умолчанию.

rc.firewall теперь умеет читать адреса и подсети для firewall_allowservices и firewall_trusted из файлов на диске. Это упрощает обслуживание длинных allowlist-наборов без разрастания rc.conf.

В загрузчике исправлена проблема loader.efi на amd64, способная приводить к сбоям при позднем перемещении staging area после вычисления таблиц страниц — в частности, при загрузке микрокода или большого количества модулей. Кроме того, модули Nvidia nvidia, nvidia-modeset и nvidia-drm занесены в blacklist загрузчика, чтобы не допускать раннюю загрузку через loader.conf, которая могла закончиться panic.

Для ZFS-окружений добавлены команды be-list и be-switch в Lua loader, позволяющие просматривать и переключать boot environment из командной строки загрузчика. ZFS rc-скрипт также перенесён перед tmp, чтобы ZFS-датасеты, включая отдельный /tmp, монтировались до проверки временной файловой системы.

kmods, образы и способы тестирования RC1

Отдельное изменение RC1 — репозиторий FreeBSD-kmods теперь указывает на модули ядра, собранные непосредственно для FreeBSD 14.5. Для тестировщиков это критично: сторонние kernel modules должны совпадать с ABI и состоянием ядра тестируемой ветки, иначе результаты проверки могут искажаться проблемами несовместимых бинарных модулей.

Установочные образы опубликованы для amd64, i386, armv7, aarch64, нескольких вариантов PowerPC и riscv64. Для amd64, i386, aarch64 и riscv64 доступны виртуальные диски в форматах QCOW2, VHD, VMDK и raw, а также OCI-образы. Для amd64 и aarch64 runtime-контейнеры можно получить из Docker Hub и GitHub Container Registry.

На ARM SD-картах есть важная особенность тестовых образов: для доступа по SSH заранее создан пользователь freebsd с паролем freebsd, а пароль root установлен в root. Эти значения сделаны для удобства стендового доступа без консоли и должны быть заменены сразу после первого входа. Выставлять такой образ напрямую в недоверенную сеть без смены паролей нельзя.

Для проверки бинарного обновления официальный анонс допускает переход на RC1 через freebsd-update на amd64, i386 и aarch64:

freebsd-update fetch
freebsd-update install
freebsd-update upgrade -r 14.5-RC1

Далее применяется стандартная последовательность установки нового ядра, перезагрузки, установки userland и повторного запуска freebsd-update install. Для реальной инфраструктуры смысл такого перехода — протестировать собственные конфигурации, пакеты, модули, jail-окружения и процедуры восстановления до выхода стабильной версии, а не получить ранний production-релиз.

Резюме

FreeBSD 14.5-RC1 — это заключительный этап тестирования ветки 14.5 перед её официальным выпуском 8 сентября. По сравнению с BETA3 были внесены значительные изменения: выпущено пять бюллетеней безопасности и переведено использование FreeBSD-kmods на пакеты, созданные для 14.5. В более широком релизе также добавлены inotify API, обновлённый LLVM и системные библиотеки, исправления в загрузчике и ряд изменений в работе пользовательского пространства.

Администраторам FreeBSD версии 14.4 нет необходимости немедленно обновляться до RC1. Поддержка 14.4 будет осуществляться до конца 2026 года. Предварительные сборки FreeBSD не рекомендуются для использования в производственной среде. Однако сейчас подходящее время для тестирования 14.5-RC1 на резервных серверах и виртуальных машинах, особенно если ваша инфраструктура зависит от сторонних модулей ядра, сложных конфигураций ZFS, собственных скриптов брандмауэра или требует точной работы системных утилит.

Если график релизов останется неизменным, разработка сборки 14.5-RELEASE стартует 4 сентября, а официальная презентация стабильной версии FreeBSD 14.5 состоится 8 сентября 2026 года.

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться