MidnightBSD — это Unix-ориентированная операционная система для настольных компьютеров, изначально созданная на основе FreeBSD 6.1 и периодически обновляемая кодом и драйверами из более поздних выпусков FreeBSD.
Разработчики FreeBSD выпустили патч для критической уязвимости, связанной с переполнением буфера в утилите ping.
Уязвимости присвоен номер CVE-2022-23093 (9,8 балла — высокий уровень риска). Данная проблема может привести к удалённому выполнению кода при проверке с помощью команды ping внешнего хоста, подконтрольного злоумышленнику.
Уязвимость как обычно связана с халатным отношением разработчиков к проверке выхода за границы буфера.
Функция pr_pack копирует IP- и ICMP-заголовки во внутренние буферы без каких-либо проверок на дополнительные расширенные заголовки, не принимая во внимание то, что в пакете после заголовка IP могут присутствовать дополнительные расширенные заголовки.
Таким образом, если хост вернет пакет с дополнительными заголовками, произойдет переполнение буфера, и атакующий сможет выполнить произвольный код в системе.
FreeBSD переходит от Wine 6.0 к серии выпусков Wine 7.0.
Некоторые из основных изменений:
Большинство модулей были преобразованы в формат PE;
Улучшенная поддержка тем с включенной темой для более современного вида;
Все встроенные приложения поддерживают создание тем, а также рендеринг с высоким разрешением;
Значительно улучшен стек HID и поддержка джойстика;
Новая архитектура WoW64, которая поддерживает запуск 32-битного приложения Windows внутри 64-битного хост-процесса Unix с использованием переходников для сопоставления 32-битных системных вызовов NT с 64-битной NTDLL;
Direct3D претерпел значительные улучшения.
В частности, во FreeBSD теперь поддерживаются более низкоуровневые запросы информации о системе, такие как состояние памяти и батареи. И нам больше не нужно ссылаться на /proc и procfs в нашем сообщении об установке.
Движок Mono теперь версии 7.0.0 с некоторыми изменениями.
Пакетные изменения проведены на двух уровнях:
во-первых, многие библиотеки поддержки, такие как FAudio, GSM, LCMS2, libjpeg, libjxr, libmpg123, libpng, libtiff, libxml, libxslt, zlib, теперь включены напрямую, в то время как раньше многие из них использовались через другие порты (или полностью отключено их использование). Попутно избавились от опций LIBXSLT и MPG123;
во-вторых, полностью переработана структура каталогов в lib/.
1 октября 2022 года Александр Черников отправил в FreeBSD патч, реализовывающий поддержку протокола Netlink.
Netlink — это протокол связи, который в настоящее время используется в ядре Linux для изменения,
чтения и подписки практически на все сетевые состояния. Интерфейсы, адреса, маршруты,
брандмауэр, виртуальные сети и т.д. управляются через netlink. Это асинхронный протокол на основе TLV, обеспечивающий связь one-to-one и one-to-many.
DragonFly версии 6.0 является следующим шагом после серии выпусков 5.8 в 2020 году. Эта версия имеет обновленную систему кэширования VFS, различные обновления файловой системы, включая HAMMER2, и длинный список обновлений пользовательского пространства.
Подробная информация обо всех коммитах между ветвями 5.8 и 6.0 доступна в связанных сообщениях коммитов для 6.0.0rc1 и 6.0.0.
Наиболее крупные доработки включают:
Значительную работу над dsynth для сборки пакетов.
Множество обновлений системного программного обеспечения из секции contrib.
Продолжение работы над HAMMER2, с обновлениями от Томохиро Кусуми.
Основную работу над виртуальными машинами для представления на основе экстентов.
Также, из-за серьезных изменений в системе виртуальных машин нам пришлось удалить фичу MAP_VPAGETABLE из системного вызова mmap(), а это также означает, что фича vkernels не будет поддерживаться в этом выпуске. Поддержка может быть повторно добавлена позже через HVM (но не в этом выпуске).
Эрик Таргеон [Eric Turgeon] объявил о выходе базирующейся на FreeBSD десктопной операционной системы, с MATE в качестве менеджера рабочего стола по умолчанию, GhostBSD 21.04.27.
Этот выпуск обновляет базовую систему до FreeBSD 13.0:
Я рад сообщить о доступности нового ISO-образа - 21.04.27. Когда мы начали переносить весь код GhostBSD с 12.2-STABLE на 13.0-STABLE, возникло несколько проблем с OpenRC, devd и драйверами, которые не запускались при загрузке.
Мы обнаружили, что реализации служб OpenRC devd и devmatch не работают должным образом.
Нам пришлось создать rc.devmatch, чтобы заменить реализацию службы OpenRC devmatch.conf для devd.
Теперь, когда devmatch запускается правильно, все драйверы запускаются при загрузке и при подключении нового устройства.
Кроме того, мы смогли удалить все изменения, которые мы внесли в ядро GENERIC, сделав ядро по умолчанию немного меньше.
Я исправил службы ntpd и WireGuard. Автоматическая настройка сетевых карт была удалена из NetworkMgr и добавлена в скрипт запуска devd".
Команда FreeBSD рада объявить о доступности FreeBSD 13.0-RELEASE — первого выпуска ветки stable/13.
Некоторые из нововведений:
clang, lld, lldb, llvm, библиотеки libunwind и libc++ обновлены в базовой системе до версии 11.0.1.
Из базовой системы удалена устаревшая версия отладчика GNU. Для анализа крэшдампов ядра следует пользоваться текущей версией gdb из портов/пакетов.
Из дерева исходников удалены устаревшие binutils 2.17 и gcc(1) 4.2.1. На данный момент все поддерживаемые архитектуры используют LLVM/clang.
BSD grep(1) теперь устанавливается по умолчанию. GNU grep удалён из базовой системы.
Из libalias(3) удалена поддержка протокола CU-SeeMe.
Добавлен драйвер qat(4) — поддержка ряда функций для ускорения криптографических вычислений на устройствах Intel QuickAssist (QAT). qat(4) работает с устройствами QAT, интегрированными в платформы Atom C2000 и C3000, Xeon C620 и D-1500, а также с Intel QAT Adapter 8950.
Удалены драйверы ряда устаревших устройств (полный список — в замечаниях к выпуску).
Ряд драйверов устройств портирован на архитектуру PowerPC64.
В ядро добавлена возможность использования крипо-ускорителей для разгрузки ЦП при работе с TLS (KTLS). Поддерживаются версии TLS от 1.0 до 1.3 и алгоритмы AES-CBC и AES-GCM. Для использования KTLS необходима совместимая SSL-библиотека в пространстве пользователя. На данный момент библиотека OpenSSL базовой системы не включает поддержку KTLS по умолчанию, однако она может быть разрешена параметром WITH_OPENSSL_KTLS при сборке.
64-битная архитектура ARM, известная как arm64 или aarch64, поднята до уровня Tier-1.