Информация о релизе FreeBSD 14.5-RELEASE
Краткое содержание
Информация о релизе FreeBSD 14.5-RELEASE содержит сводку изменений, внесённых в базовую систему FreeBSD в рамках ветки разработки 14-STABLE. Этот документ перечисляет применимые рекомендации по безопасности, выпущенные с момента последнего релиза, а также существенные изменения в ядре FreeBSD и пользовательском окружении. Также даются некоторые краткие комментарии по обновлению.
Введение
Этот документ содержит информацию о релизе FreeBSD 14.5-RELEASE. В нём описаны недавно добавленные, изменённые или удалённые функции FreeBSD. Также представлены некоторые замечания по обновлению с предыдущих версий FreeBSD.
Дистрибутив "release", к которому относится эта информация о релизе, представляет собой последнюю точку на ветке разработки 14-STABLE между 14.4-RELEASE и будущим 14.6-RELEASE. Информацию о предварительно собранных, бинарных дистрибутивах "release" на этой ветке можно найти на https://www.FreeBSD.org/ru/releases/.
Данный дистрибутив FreeBSD 14.5-RELEASE является дистрибутивом типа "release". Его можно найти на https://www.FreeBSD.org/ru/releases/ или любом из зеркал. Дополнительную информацию о получении этого (или других) дистрибутивов FreeBSD типа "release" можно найти в Приложении "Получение FreeBSD" к Руководству FreeBSD.
Всем пользователям рекомендуется ознакомиться с исправлениями и дополнениями релиза перед установкой FreeBSD. Документ с исправлениями и дополнениями обновляется «последней информацией», обнаруженной в конце цикла подготовки релиза или после его выпуска. Обычно он содержит информацию об известных ошибках, уведомлениях о безопасности и исправлениях в документации. Актуальную копию исправлений и дополнений для FreeBSD 14.5-RELEASE можно найти на веб-сайте FreeBSD.
В этом документе описаны наиболее заметные для пользователя новые или изменённые функции FreeBSD после 14.4-RELEASE. Как правило, описанные здесь изменения уникальны для ветки 14-STABLE, если они не отмечены специально как функции MERGED.
Обычные пункты информации о релизе документируют недавние бюллетени безопасности, выпущенные после 14.4-RELEASE, новые драйверы или поддержку оборудования, новые команды или опции, основные исправления ошибок или обновления стороннего программного обеспечения. Также могут перечисляться изменения в основных портах/пакетах или практиках подготовки релизов. Очевидно, что информация о релизе не может перечислить каждое изменение, внесённое в FreeBSD между выпусками; этот документ в основном фокусируется на бюллетенях безопасности, изменениях, заметных для пользователя, и основных архитектурных улучшениях.
Обновление с предыдущих релизов FreeBSD
Бинарные обновления между промежуточными сборками и релизными версиями поддерживаются с помощью утилиты freebsd-update(8). Ознакомьтесь с процедурой обновления конкретного релиза, с Информацией об обновлении FreeBSD 14.5-RELEASE и с более подробной информацией в разделе Руководства FreeBSD о процедуре бинарного обновления. При этом будут обновлены неизменённые пользовательские утилиты, а также неизменённые ядра GENERIC, распространяемые как часть официального релиза FreeBSD. Утилита freebsd-update(8) требует, чтобы обновляемая система имела подключение к сети Интернет.
Поддерживается модернизация предыдущих версий из исходного кода (основанная на перекомпиляции исходного кода базовой системы FreeBSD) в соответствии с инструкциями в файле /usr/src/UPDATING.
|
Попытку обновления FreeBSD следует предпринимать только после резервного копирования всех данных и конфигурационных файлов. |
Включённые исправления безопасности и патчи
В этом разделе перечислены различные уведомления о безопасности и исправления, выпущенные после 14.4-RELEASE, которые были устранены в 14.5-RELEASE.
Бюллетени безопасности (ошибки исправлены)
| Бюллетень | Дата | Тема |
|---|---|---|
24 февраля 2026 |
Локальный DoS и возможное повышение привилегий через сокеты маршрутизации |
|
26 марта 2026 |
TCP: удалённо эксплуатируемый вектор DoS (утечка mbuf) |
|
26 марта 2026 |
Удалённое выполнение кода через проверку пакетов RPCSEC_GSS |
|
25 марта 2026 |
pf молча игнорирует определённые правила |
|
21 апреля 2026 |
Ошибка use-after-free в ядре в обработчике TIOCNOTTY |
|
21 апреля 2026 |
Отсутствует обработка больших страниц в pmap_pkru_update_range() |
|
29 апреля 2026 |
Удалённое выполнение кода через вредоносные опции DHCP |
|
29 апреля 2026 |
Локальное повышение полномочий через execve() |
|
29 апреля 2026 |
pf может переполнить стек при разборе специально сформированных пакетов SCTP |
|
29 апреля 2026 |
Удалённо вызываемая запись за границы кучи в dhclient |
|
29 апреля 2026 |
Переполнение стека через переполнение набора файловых дескрипторов select() |
|
29 апреля 2026 |
Переполнение кучи в libnv |
|
20 мая 2026 |
Переполнение буфера в стеке через setcred(2) |
|
20 мая 2026 |
Use-after-free в ядре через системные вызовы файловых дескрипторов |
|
20 мая 2026 |
Переполнение кучи в FUSE_LISTXATTR |
|
20 мая 2026 |
Отсутствует проверка в ptrace(PT_SC_REMOTE) |
|
20 мая 2026 |
Переполнение набора файловых дескрипторов select(2) вызывает переполнение стека |
|
20 мая 2026 |
Удалённое выполнение кода через сканирование точек доступа Wi-Fi установщиком |
|
20 мая 2026 |
Неправильное управление списком ограничений libcap_net |
|
9 июня 2026 |
Отсутствует проверка прав в thr_kill2(2) |
|
9 июня 2026 |
Произвольная перезапись файлов через путь приёма KTLS |
|
9 июня 2026 |
Множественные уязвимости в пути mmap sound(4) |
|
9 июня 2026 |
В sigqueue(2) отсутствует ограничение режима возможностей |
|
9 июня 2026 |
Ошибка use-after-free в обработчике параметра сокета IPV6_MSFILTER |
|
9 июня 2026 |
Изъян в выполнении setugid-бинарников в Linuxulator |
|
9 июня 2026 |
Errata процессоров Arm могут обходить изменения прав таблиц страниц |
|
9 июня 2026 |
Обход ASLR для setuid-исполняемых файлов через procctl(2) |
|
9 июня 2026 |
Множественные уязвимости в unbound |
|
9 июня 2026 |
Целочисленное переполнение в ioctl CONS_HISTORY vt(4) |
|
9 июня 2026 |
Множественные уязвимости в OpenSSL |
|
9 июня 2026 |
Недостаточная проверка ответов в stub-резолвере ldns |
|
30 июня 2026 |
Use-after-free в списке страниц пейджера устройств |
|
30 июня 2026 |
Локальное повышение привилегий через гонку TOCTOU в execve(2) |
|
30 июня 2026 |
Множественные уязвимости в OpenZFS |
|
30 июня 2026 |
Переполнение буфера в обработчике RTSP libalias |
|
30 июня 2026 |
unlinkat(2) игнорирует флаг AT_RESOLVE_BENEATH |
|
30 июня 2026 |
Use-after-free в обработчике параметров стека TCP RACK |
|
30 июня 2026 |
Множественные уязвимости в объектах больших страниц POSIX |
|
30 июня 2026 |
Неправильные записи аудита для запросов системного вызова ptrace(2) |
|
30 июня 2026 |
Удалённый DoS через доступ к неинициализированной памяти при приёме KTLS |
|
30 июня 2026 |
Раскрытие стека ядра в слое совместимости с Linux |
|
30 июня 2026 |
Раскрытие стека ядра в поддержке 32-битной совместимости |
|
30 июня 2026 |
Множественные уязвимости в iconv(3) |
|
29 июля 2026 |
Отсутствует проверка MAC при расшифровке пакетов wg(4) |
|
29 июля 2026 |
Доступ за границы кучи в semctl(2) |
|
29 июля 2026 |
Состояние гонки при подсчёте сегментов дампа ядра ELF |
|
25 августа 2026 |
hwpmc не отсоединяет PMC при переходах учётных данных в exec |
|
25 августа 2026 |
Use-after-free в ядре через ioctl SNDCTL_DSP_SYNCSTART |
|
25 августа 2026 |
Множественные уязвимости в OpenSSL |
|
25 августа 2026 |
Use-after-free в ядре через ioctl tty |
|
25 августа 2026 |
Гонка TOCTOU в конфигурации больших страниц разделяемой памяти POSIX |
Уведомления об ошибках (ошибки исправлены)
| Уведомление | Дата | Тема |
|---|---|---|
21 апреля 2026 |
Обработчик ошибок страниц не обнуляет память |
|
21 апреля 2026 |
Периодические таймеры timerfd(2) могут давать неверные результаты |
|
29 апреля 2026 |
Обновление информации базы данных часовых поясов |
|
29 апреля 2026 |
Ошибка инвалидации TLB в системах AMD с INVLPGB |
|
1 мая 2026 |
Проверка аренды dhclient(8) слишком строгая |
|
20 мая 2026 |
freebsd-update пытается объединить сгенерированный файл |
|
9 июня 2026 |
Обновление OpenSSL до 3.0.20 и 3.5.6 |
|
30 июня 2026 |
32-битные setcontext(2) и swapcontext(2) не работают на arm64 |
|
29 июля 2026 |
Обновление информации базы данных часовых поясов |
|
25 августа 2026 |
Ранняя загрузка микрокода Intel CPU не работает для некоторых процессоров |
Пользовательское окружение
Этот раздел охватывает изменения и дополнения в пользовательских приложениях, стороннем программном обеспечении и системных утилитах.
Изменения в конфигурации пользовательского окружения
Local-unbound-setup теперь корректно настраивает разрешение DNS в системах только с IPv6, отключая неподдерживаемые протоколы в конфигурации сервера и используя 127.0.0.1, ::1 или оба адреса в resolv.conf в зависимости от поддержки в ядре. 973d1f2b12ab.
Файл /etc/protocols обновлён в соответствии с последними назначениями IANA, включая документирование неназначенных и устаревших протоколов. 9f9f0d3d9e1c.
Демон lpd(8) теперь корректно использует номер порта, указанный в /etc/printcap, вместо того чтобы игнорировать его, восстанавливая функциональность, нарушенную с момента добавления поддержки IPv6 в 2000 году. 85852fe5e4a9.
Изменения в пользовательских приложениях
Скрипт rc.firewall теперь поддерживает чтение IP-адресов или подсетей из файлов на диске для переменных списков firewall_allowservices и firewall_trusted. Элементы, похожие на абсолютные пути, читаются построчно, пропуская комментарии и пустые строки, а первое слово в каждой строке рассматривается как адрес или подсеть.
10075baae2c1.
Размер истории по умолчанию в sh(1) увеличен со 100 до 128, что соответствует минимальному требованию POSIX.1-2024. 9bc3d8e002b9.
Коды плотности и спецификации картриджей LTO-10 и LTO-10P добавлены в mt(1) и libmt, обеспечивая обнаружение и отображение информации о новых форматах лент. 5f55c59cbab5. (Sponsored by Spectra Logic)
Поведение pwd(1) по умолчанию изменено с -P на -L в соответствии с семантикой POSIX. ae75d4bdc12b.
Бинарный файл ipfw(8) теперь включает механизм отката для поддержки нового интерфейса ядра, представленного в FreeBSD 15.0. При работе с ядром 15.0+ ipfw(8) автоматически вызывает встроенный бинарный файл ipfw15 для загрузки правил межсетевого экрана, обеспечивая совместимость во время процедур обновления. 704ec5e68c44.
Утилита daemon(8) теперь поддерживает параметр -m для указания режима выходного файла, позволяя сборщикам журналов, не работающим от имени root, получать доступ к файлам журналов. cc35db95eb9e.
Стороннее системное программное обеспечение
Компоновщик по умолчанию для clang в FreeBSD теперь ld.lld (LLD) вместо следования общему пути поиска ld. f81c82a9db12.
Expat обновлён до версии 2.8.1. 84f7ee30767b.
file(1) обновлён до 5.47. d58218761eeb.
ldns обновлён до версии 1.9.2. 222648172b80.
less(1) обновлён до 704. 7cc6a5d46484.
libarchive обновлён до версии 3.8.7. Это обновление включает исправления ошибок для уязвимостей, утечек памяти и сбоев в нескольких модулях чтения форматов архивов. 2dddbb67c6a1.
libpcap обновлён до 1.10.6. 09db15067248. (Sponsored by The FreeBSD Foundation)
LLVM и связанные компоненты обновлены до версии 21.1.8. 502fd5427dc8.
mandoc(1) обновлён до 2025-09-26. f763f12ed5eb.
ncurses(3) обновлён до 6.6. 8de7c76ee02f.
Утилита openresolv обновлена до версии 3.17.4, что принесло многочисленные улучшения в реализацию resolvconf, включая обновлённые страницы руководства и документацию к файлам конфигурации, а также новые скрипты совместимости для avahi-daemon, mDNSResponder и systemd-resolved. 266022bf0b60.
openresolv теперь удаляет ведущие точки из доменных имён в resolvconf, что влияет на поведение разрешения DNS для пользователей с такими конфигурациями. aad298c8f9ca.
OpenSSL обновлён до 3.0.21. ca66129a2c8a.
База данных pci_vendors обновлена до версии от 2026-02-10. b28b6c6d33ac.
Набор корневых сертификатов обновлён в соответствии с NSS 3.123.1: добавлены новые доверенные сертификаты CA, а другие перемещены в недоверенные. 09bb6a62d00f.
tcpdump(1) обновлён до 4.99.6. 8a0d626219f1. (Sponsored by The FreeBSD Foundation)
tzcode обновлён до 2026c. 3ab59366fed8.
База данных tzdata обновлена до версии 2026c. 819af80de8e8.
unbound(8) обновлён до версии 1.26.0. c555236ec76f.
Список производителей USB обновлён до 2025.12.13. 2f866e0547bd.
xz(1) обновлён до 5.8.3. e32e126c136d.
Устаревшие приложения
Набор программ lpr(1) объявлен устаревшим и может быть удалён до FreeBSD 16.0. В коллекции портов доступны лучше поддерживаемые альтернативы (print/cups, sysutils/LPRng). b734006cafa1.
Библиотеки времени выполнения и API
Парсер sortlist в резолвере libc был переработан, что восстановило возможность настройки порядка сортировки адресов в /etc/resolv.conf. Сортировка адресов IPv4 и IPv6 снова работает, документация обновлена. fc00e7a18cde.
Парсер опций резолвера libc теперь строго проверяет имена и значения опций, отклоняя лишние символы в конце, отрицательные значения и нечисловые аргументы, что изменяет поведение для некорректных опций resolv.conf. b52d95bf1494.
Тригонометрические функции стандарта C23, использующие множитель pi (такие как sinpi, cospi и связанные варианты), теперь представлены в <math.h>. Это расширяет доступные API математической библиотеки в соответствии со стандартом C23. 69b3aa35469a.
API inotify теперь доступен в libc, предоставляя функции inotify_init(3), inotify_init1(3) и inotify_add_watch(3) для мониторинга событий файловой системы. e61884183ed4. (Sponsored by Klara, Inc.)
Поддержка облачных сред
Этот раздел охватывает изменения в поддержке облачных сред.
Ядро
В этом разделе рассматриваются изменения в конфигурациях ядра, настройке системы и параметрах системного управления, которые не отнесены к другим категориям.
Общие изменения в ядре
Новый параметр безопасности отключает непривилегированный доступ к среде ядра (kenv), включая root в jail, для защиты конфиденциальных данных. Системные администраторы могут настроить это с помощью документированного sysctl/tunable. Страницы руководства обновлены в соответствии с новым поведением. c839c1566147.
Добавлены системные вызовы inotify_init(2), inotify_add_watch(2) и inotify_rm_watch(2) для совместимости на уровне исходного кода с Linux, позволяющие приложениям отслеживать события файловой системы в иерархии каталогов без открытия каждого файла. 296d7f95aab8. (Sponsored by Klara, Inc.)
Устройства и драйверы
В этом разделе рассматриваются изменения и дополнения в устройствах и драйверах устройств, появившиеся после 14.4-RELEASE.
Драйверы устройств
Раскладка клавиатуры br.lenovo.kbd теперь установлена и доступна в системе.
ca42bd490891.
Американская международная раскладка клавиатуры с клавишами для символов с диакритикой us.intl.acc.kbd теперь устанавливается по умолчанию и доступна в системе.
823889aaafa3.
Драйвер smartpqi(4) обновлён: добавлена поддержка новых контроллеров и 32-разрядный размер буфера ввода-вывода для сквозных ioctl вместо прежнего 16-разрядного ограничения. 8accd4d99f81. (Sponsored by Microchip Technology Inc.)
Драйвер acpi(4) теперь поддерживает управление питанием на оборудовании Apple Mac с двумя GPU, включая по умолчанию Darwin OSI, что задействует интегрированный GPU для улучшения времени автономной работы. Это поведение можно переключать с помощью tunable hw.acpi.apple_darwin_osi.
964c97aa80ec.
Драйвер ahci(4) теперь поддерживает дополнительный вариант SATA-контроллера Marvell 88SE9128 (ID устройства 0x91a3), обеспечивая корректную работу на системах с этим чипом (например, материнские платы Gigabyte GA-P55A-UD4). 487eeda542a7.
Устаревшие и удалённые драйверы
Драйвер asmc(4) больше не поддерживает 32-разрядные Mac на базе Intel. Это удаление затрагивает пользователей 32-разрядного оборудования. 432c95c57bb5.
Подсистема хранения данных
В этом разделе рассматриваются изменения и дополнения в файловых системах и других подсистемах хранения данных, как локальных, так и сетевых.
Общие изменения в системах хранения
Файловая система msdosfs(4) теперь поддерживает имена файлов, содержащие суррогатные пары Unicode, что обеспечивает полный доступ к файлам с эмодзи и другими символами за пределами базовой многоязычной плоскости на томах FAT32. e71ad3f7a6b1.
Загрузчик
Этот раздел охватывает загрузчик, загрузочное меню и другие изменения, связанные с загрузкой.
Изменения в загрузчике
Исправлена ошибка загрузчика loader.efi(8) для amd64, из-за которой позднее перемещение промежуточной области после вычисления таблиц страниц могло вызывать сбои загрузки, особенно при загрузке микрокода или большого набора модулей. 8dca7fccfa65. (Sponsored by Netflix)
Загрузчик на powerpc64le обходит ошибку SLOF в QEMU путём добавления выравнивания, что исправляет загрузку на системах PowerPC с прямым порядком байтов. 5d2b9a17b9c6. (Sponsored by Netflix)
lualoader теперь поддерживает команды be-list и be-switch, позволяя изменять среды загрузки из командной строки загрузчика. bddfcbd9bbc6.
Ядро Lua загрузчика теперь следует по символическим ссылкам при поиске загружаемых ядер. 1841091eaa0b.
bsdinstall(8) теперь корректно создаёт загрузочную запись FreeBSD UEFI после установки, исправляя регрессию, из-за которой некоторые машины не могли загрузиться из-за отсутствующей загрузочной записи. cfdd90abab51.
Скриптинг Lua загрузчика теперь поддерживает фильтрацию списка сред загрузки через определяемый пользователем обратный вызов в local.lua, позволяя операторам скрывать определённые среды загрузки (например, те, что начинаются с точки). 9ef671ef0c6c.
Загрузчик теперь предпочитает встроенный дисковый образ в памяти в качестве текущего устройства при сборке с MD_IMAGE_SIZE, улучшая поведение загрузки для таких конфигураций. a4a3825d3e1d. (Sponsored by Chelsio Communications)
RC-скрипт ZFS теперь запускается перед RC-скриптом tmp, гарантируя, что наборы данных ZFS (включая набор данных /tmp) смонтированы до того, как tmp попытается проверить возможность записи и, возможно, смонтировать tmpfs. Это исправляет проблемы с корневыми файловыми системами ZFS, доступными только для чтения, и настройкой tmpmfs=yes.
b39cac4b834c.
Исправлена обработка настроек цвета переднего плана и фона в среде графической консоли загрузчика, что гарантирует независимую установку каждого из них и корректное применение цветов при переходе к ядру. 14c8e003318b.
Модули ядра Nvidia теперь внесены загрузчиком в чёрный список, чтобы предотвратить паники при их ранней загрузке через loader.conf. Модулям nvidia, nvidia-modeset и nvidia-drm запрещена загрузка во время загрузки системы. 7db1376bd151.
Исправлено расположение логотипов загрузки для Beastie и fbsdbw. 9ac7e0362a24. (Sponsored by PANS Jarosław)
Поддержка оборудования
Этот раздел охватывает общую поддержку оборудования для физических машин, гипервизоров и сред виртуализации, а также изменения и обновления оборудования, которые не подходят для других разделов этого документа.
Пожалуйста, ознакомьтесь со списком оборудования, поддерживаемого 14.5-RELEASE, а также со страницей платформ с полным списком поддерживаемых архитектур процессоров.
Документация
В этом разделе рассматриваются изменения страниц Справочника (man(1)) и другой документации, поставляемой в составе базовой системы.
Страницы Справочника
Добавлены страницы справочника для libusb20_open(3) и libusb20_be_device_foreach(3), документирующие эти библиотечные функции. 3e05b2366af1.
Страница справочника mq_getfd_np(3) документирует функцию, извлекающую файловый дескриптор из дескриптора очереди сообщений. 11a0cf32a232.
Страница справочника для realpath(3) обновлена: улучшен раздел RETURN VALUES, расширен раздел SEE ALSO с добавлением basename(3), dirname(3) и free(3), а устаревший раздел CAVEATS удалён. f5b8309b9f63. (Sponsored by Klara, Inc.)
Добавлена страница справочника dwcotg(4), документирующая драйвер контроллера DesignWare USB OTG и делающая его видимым для будущих примечаний к выпуску. a1479a37fcf8.
Страница справочника для umass(4) теперь включает ссылки на страницы usb_quirk(4) и usbconfig(8), помогая пользователям устранять специфичные для устройств проблемы с помощью обходных решений. f1fe71222aca. (Sponsored by Netflix)
Раздел FILES справочного справочника ports(7) расширен и реорганизован в три таблицы, документирующие дополнительные файлы, такие как make.conf, CHANGES, CONTRIBUTING.md, UPDATING и Tools/scripts. 5e1443211528.
Страница справочника для bhyve(8) обновлена: описана полная синтаксическая конструкция флага -c, включая сложные спецификаторы топологии CPU. c92c3852a974.
Страницы справочника для GEOM и связанных инструментов (gcache(8), geli(8), gpart(8), ggatec(8) и ggated(8)) теперь последовательно уточняют, что размеры указываются в бинарных единицах (байтах), если не указан суффикс единицы СИ, и используют неразрывные пробелы между числами и единицами измерения. 30c821ac04c1.
Обновлена страница справочника для jail(8): описано, как создать jail из набора дистрибутива. cf16565eb929.
Устаревший параметр -p удалён из lpd(8) и его страницы справочника. 5f10e369a13a.
Новая страница справочника sbintime(9) документирует использование sbintime_t и его вспомогательных функций для разработчиков ядра. 84eec65ebb27.
В style(9) добавлен раздел справочника по стилю C++. e8a09797dd19. (Sponsored by Chelsio Communications)
Последнее изменение: 19 сентября 2026 г. от Vladlen Popolitov