Опубликован выпуск проекта ESP-KVM, развивающего открытую прошивку, которая превращает отладочную плату на микроконтроллере ESP32-P4 в полноценный IP-KVM - устройство, дающее доступ к экрану, клавиатуре и мыши удалённого компьютера через браузер. В отличие от средств удалённого рабочего стола, на управляемой машине ничего не устанавливается и от её операционной системы ничего не требуется: устройство подключается к видеовыходу и USB-порту и работает, когда компьютер показывает интерфейс BIOS, грузится, стоит с пустым диском или выключен. Код написан на языке Си и распространяется под лицензией Apache 2.0.
Устройство собирается из двух небольших плат: платы с ESP32-P4 и платы захвата на чипе TC358743, которая переводит HDMI цели в MIPI-CSI. Дальше картинка кодируется аппаратными кодировщиками самого микроконтроллера - H.264 или MJPEG - и отдаётся в браузер. Клавиатура и мышь подаются целевой машине через USB OTG, то есть она видит обычные устройства ввода и никаких драйверов ей не нужно. На эталонной плате получено около 20-24 кадров в секунду при 1920x1080 и до 45 при 1280x720.
Из возможностей:
Чтение текстового экрана как текста, а не картинки: содержимое консоли BIOS, загрузчика или Linux-консоли распознаётся по знакогенератору и передаётся символами - экран занимает пару килобайт вместо мегабайт, а серийный номер или код ошибки можно выделить мышью и скопировать.
Наблюдение за экраном по заданным фразам с оповещением, когда за устройством никто не следит.
Управление питанием цели через оптопару (кнопки питания и сброса, чтение индикатора), Wake-on-LAN и пробуждение спящей машины по USB.
Встроенные WireGuard и Tailscale, включая работу с собственным управляющим сервером Headscale.
Интеграция с Home Assistant через MQTT: датчики, кнопки, сущность обновления прошивки и камера со снимком экрана цели.
HTTPS с сертификатом, который устройство выпускает само, вход по паролю и физический сброс пароля кнопкой на плате; можно загрузить и свой сертификат.
Обновление прошивки по сети с двумя слотами и автоматическим откатом, аварийный образ во внутренней флеш-памяти и точка доступа с порталом, если сети нет.
Небольшой статусный экран (I2C OLED или круглый GC9A01) с адресом, состоянием линка и температурой.
Виртуальные носители: образ диска с карты microSD отдаётся цели как загрузочный USB-накопитель, что позволяет установить систему на машину с пустым диском.
Прошивка собирается для десяти вариантов плат, среди которых Waveshare ESP32-P4-ETH, ESP32-P4-NANO и ESP32-P4-WIFI6, Espressif ESP32-P4 Function EV, Guition ESP32-P4-M3-Dev и M5Stack Unit PoE-P4. Сообществом создано несколько корпусов для самой популярной платы Waveshare ESP32-P4-ETH. Прошить плату можно прямо из браузера, без установки инструментов.
В выпуске 0.45.0 добавлена поддержка двух плат - Waveshare ESP32-P4-Module-DEV-KIT и DFRobot FireBeetle 2 ESP32-P4 - и опубликован разбор того, какие платы на ESP32-P4 для такой задачи не подходят и почему.
Опубликован выпуск RT-Thread 5.3, операционной системы реального времени (RTOS) для устройств интернета-вещей. Система развивается с 2006 года сообществом китайских разработчиков и в настоящее время портирована для 155 плат, чипов и микроконтроллеров на базе архитектур x86, ARM, MIPS, С-SKY, Xtensa, ARC и RISC-V. Минималистичная сборка RT-Thread (Nano) требует для работы всего 3 КБ Flash и 1.2 КБ ОЗУ. Для IoT-устройств, сильно не ограниченных в ресурсах, предлагается полнофункциональная версия, поддерживающая управление пакетами, конфигураторы, сетевой стек, пакеты с реализацией графического интерфейса, системы голосового управления, СУБД, сетевых сервисов и движков для выполнения скриптов. Код написан на языке Си и распространяется под лицензией Apache 2.0.
Операционную систему образуют три базовых слоя:
Ядро, обеспечивающее выполнение задач в режиме реального времени. Ядро предоставляет универсальные базовые примитивы, охватывающие такие области, как управление блокировками и синхронизацией данных, планирование задач, управление потоками, обработка сигналов, очереди сообщений, управление таймером, управление памятью. Специфичные для аппаратного обеспечения особенности реализованы на уровне libcpu и BSP, которые включают необходимые драйверы и код для поддержки CPU.
Компоненты и сервисы, работающие поверх ядра и предлагающие такие абстракции как виртуальная файловая система, система обработки исключений, хранилище в формате ключ/значение, интерфейс командной строки FinSH, сетевой стек (LwIP) и сетевые фреймворки, библиотеки для поддержки устройств, звуковая подсистема, беспроводной стек, компоненты для поддержки Wi-Fi, LoRa, Bluetooth, 2G/4G. Модульная архитектура позволяет подключать компоненты и сервисы в зависимости от своих задач и имеющихся аппаратных ресурсов.
Пакеты программ. Программные компоненты общего назначения и библиотеки функций распространяются и устанавливаются в форме пакетов. В настоящее время репозиторий включает более 450 пакетов, предлагающих от графических интерфейсов, мультимедийных приложений и сетевых приложений до систем управления роботами и обработчиков на базе машинного обучения. В пакетах также поставляются движки для организации выполнения программ на языках Lua, JerryScript, MicroPython, PikaScript и Rust (rtt_rust).
Особенности платформы:
Поддержка архитектур:
ARM Cortex-M0/M0+/M3/M4/M7/M23/M33
(поддерживаются микроконтроллеры таких производителей, как ST, Winner Micro, MindMotion, Realtek, Infineon, GigaDevic, Nordic, Nuvoton, NXP).
Расширяемая модульная архитектура, позволяющая сформировать окружение, подходящее для систем с ограниченными ресурсами (минимальные требования - 3 КБ Flash и 1.2 КБ ОЗУ).
Поддержка различных стандартных интерфейсов для разработки программ, таких как POSIX, CMSIS, C++ API. Отдельно развивается прослойка RTduino для совместимости с API и библиотеками проекта Arduino.
Возможность расширения через систему пакетов и подключаемых компонентов.
Поддержка разработки приложения для высокопроизводительной обработки информации.
Гибкая система управления питанием, позволяющая автоматически переводить устройство в режим сна и динамически управлять напряжением и частотой в зависимости от нагрузки.
Поддержка аппаратных средств для шифрования и расшифровки, предоставление библиотек с различными криптографическими алгоритмами.
Унифицированный интерфейс для доступа к периферийным устройствам и дополнительному оборудованию.
Виртуальная ФС и наличие драйверов для таких ФС, как FAT, UFFS, NFSv3, ROMFS и RAMFS.
Стек протоколов для TCP/IP, Ethernet, Wi-Fi, Bluetooth, NB-IoT, 2G/3G/4G, HTTP, MQTT, LwM2M и т.п.
Система удалённой доставки и установки обновлений, поддерживающая шифрование и верификацию по цифровой подписи, возобновление прерванной
установки, восстановление после сбоя, откат изменений и т.п.
Система динамически загружаемых модулей ядра, позволяющая отдельно собирать и разрабатывать компоненты ядра, и динамически загружать их при появлении необходимости.
Поддержка различных сторонних пакетов, например, Yaffs2, SQLite, FreeModbus, Canopen и т.п.
Возможность прямой компиляции BSP-пакета (Board Support Package) с компонентами для поддержки определённой аппаратной платформы, и его загрузки на плату.
Наличие эмулятора (BSP qemu-vexpress-a9), позволяющего разрабатывать приложения без использования реальных плат.
Поддержка типовых компиляторов и инструментов для разработки, таких как GCC, MDK Keil и IAR.
Развитие собственной интегрированной среды разработки RT-Thread Studio IDE, позволяющей создавать и отлаживать приложения, загружать их на платы, управлять настройками. Плагины для разработки программ для RT-Thread также доступны для Eclipse и VS Code.
Наличие консольного интерфейса Env, упрощающего создание проектов и настройку окружения.
Среди изменений в новом выпуске:
Расширена поддержка разработки компонентов на языке Rust. Добавлены Rust-обвязки для потоков, мьютексов, семафоров, очередей сообщений, а также операций с памятью, временем и файлами. Реализованы компоненты для интеграции с SCons и Cargo. Обеспечено автоматическое определение целевых платформ ARM, AArch64 и RISC-V. Добавлены процедурные макросы для инициализации и регистрации команд.
Для микроконтроллеров Cortex-M включена поддержка стандарта Open Firmware
c описанием периферии через Device Tree.
Добавлена поддержка VirtIO 1.2 с возможностью использования очередей пакетов, транспортов MMIO/PCI и синхронизации DMA. Добавлены VirtIO-драйверы 9P, crypto, RNG, SCMI и SCSI. Обновлены VirtIO-драйверы для сети, блочных устройств, консоли, устройств ввода и GPU.
Добавлен фреймворк DVFS (Dynamic Voltage and Frequency Scaling) для динамического управления частотой CPU и устройств. Обеспечена интеграция с прошивкой ARM SCMI для управления энергопотреблением. Улучшено управление кулерами.
Добавлена поддержка TEE-окружений (Trusted Execution Environment) и механизма обмена сообщениями RPMSG (Remote Processor Messaging).
Реализована поддержка Unix-сокетов.
Добавлена поддержка механизмов защиты беспроводных сетей WPA3, EA (Enterprise Authentication), WAPI, OWE и DPP.
Добавлена поддержка протокола синхронизации времени PTP (Precision Time Protocol).
Добавлен фреймворк Clock Time для работы со временем, поддерживающий высокоточные таймеры и синхронизацию времени по нескольким источникам. Новый фреймворк пришёл на смену ранее используемым компонентам ktime, cputime и hwtimer,
Реализована файловая система 9PFS, применяемая для обмен файлами между хост-окружением и виртуальными машинами.
В реализации легковесных процессов lwP (Lightweight Process) появилась поддержка архитектуры ARM и добавлена поддержка механизма vDSO (virtual dynamic shared object), позволяющего перенести обработчики из ядра в пространство пользователя и избежать переключений контекста.
В ядре реализована поддержка 8- и 16-разрядных атомарных операций.
Добавлена поддержка симметричной мультипроцессорности (SMP) для RISC-V процессоров серии XuanTie C/R и эмулятора QEMU virt64.
Обновлён USB-стек CherryUSB 1.6.1.
Добавлены новые DM-драйверы (Device Manager) для UFS, AHCI, NVMe, Ethernet, Intel HDA, джойстиков и сенсорных экранов.
Представлен релиз проекта Jellyfin 12.0, позволяющего развернуть на собственном сервере систему мультимедийного вещания для трансляции имеющегося контента на устройства пользователей. Проект основан в 2018 году как форк медиасервера Emby, продолживший развитие открытой кодовой базы после перехода Emby на проприетарную модель разработки. Код Jellyfin написан на языке C# с использованием платформы .NET и распространяется под лицензией GPLv2. Предоставляются клиентские программы для ПК, мобильных устройств телевизоров, телеприставок и игровых контроллеров, а также web-интерфейс для настройки медиасервера, организации online-вещания и управления мультимедийной коллекцией.
Поддерживается трансляция видео и звука; навигация по коллекции фильмов, фотографий, электронных книг и музыки; просмотр и запись телеэфира при наличии ТВ-тюнера; синхронный совместный просмотр контента несколькими пользователями (SyncPlay); автоматическое обнаружение, каталогизация и сортировка контента; загрузка дополнительной информации (например, обложки альбомов и сведения о музыкантах); функции родительского контроля. Возможно перекодирование форматов на лету c ускорением при помощи технологий Intel QSV, NVIDIA NVENC и AMD AMF или отдача видео в исходном формате, если клиент поддерживает необходимый кодек.
Для взаимодействия с фронтэндами применяется клиент-серверная модель на основе протокола HTTP. Поддерживается вещание с использованием протоколов HLS (HTTP Live Streaming), DLNA и Google Cast (для Chromecast). Возможно расширение функциональности через плагины.
Сервер может быть запущен в Linux, macOS и Windows. Для упрощения развёртывания предлагается преднастроенный образ Docker-контейнера.
Среди изменений в новой версии:
Изменение структуры БД и оптимизация для хранения плейлистов и коллекций (каждый элемент теперь хранится как отдельная строка в таблице). Разделён запуск ресурсоёмких работ по обслуживанию БД и операций сканирования библиотеки.
Проведена оптимизация работы web-интерфейса и устранено подвисание при открытии некоторых страниц.
В основной состав добавлены средства для работы с электронными книгами. Появилась возможность извлечения данных о книгах и комиксах из файлов OPF, ComicInfo и ComicBookInfo. Добавлены плагины для интеграции с OpenLibrary, GoogleBooks и ComicVine. В web-интерфейсе реализован отдельный раздел для навигации по авторам и коллекциям электронных книг.
Для сериалов реализована возможность выбора вариантов материала (режиссерская/театральная версия, качество 4K/1080p).
Добавлена возможность отдельной настройки источника рекомендаций и параметров субтитров для каждой библиотеки.
В клиентах для ПК и мобильных устройств задействован новый интерфейс Modern, а старый вариант переименован в Legacy.
Сервер переведен на .NET 10 (требуется пересборка плагинов). Библиотеки FFmpeg обновлены до ветки 8.1.
Батист Даруссен (Baptiste Daroussin), член FreeBSD Core Team и автор пакетного менеджера pkg, развивает новый системный менеджер для FreeBSD - rcd. Системный менеджер rcd вызывается init-процессом вместо /etc/rc, читает файлы конфигурации сервисов (/etc/rcd.d/*.ucl), строит дерево зависимостей и запускает сервисы по возможности параллельно друг с другом, после чего отслеживает работу сервисов и при необходимости их перезапускает.
Управление фоновым процессом и операции с сервисами может осуществляться через прямую передачу команд в UNIX-сокет или при помощи утилиты командной строки rctl. Unit-файлы с параметрами сервисов оформляются в формате UCL, который напоминает формат файлов конфигурации nginx и bind с элементами для упрощения автоматизированной обработки, заимствованными из JSON. Предоставляется возможность создания шаблонов типовых unit-файлов и написания встроенных обработчиков на языке Lua. Пример unit-файла для запуска nginx:
Вместо работы с PID-файлами отслеживание активности запущенных процессов осуществляется с использованием дескрипторов, возвращаемых системным вызовом pdfork(). Имеется поддержка активации сервисов только при обращении к сетевому сокету и возможность защиты важных сервисов от принудительного завершения в случае нехватки памяти в системе. Возможно обновление версии фонового процесса rcd на лету без потери состояния.
Для ограничения доступных сервису ресурсов применяется rctl, а для полной изоляции сервисов поддерживается их запуск в jail-окружениях. Возможна настройка доступа к управляющему UNIX-сокету в привязке к отдельным сервисам. Поддерживается переход в спящий режим.
Системный менеджер полностью обратно совместим с существующей системой последовательного запуска сервисов rc.d и может работать без изменения имеющихся rc.d-скриптов и файлов конфигурации. Достаточно установить rcd на работающую систему и после перезапуска всё продолжит функционировать как раньше, за исключением сокращения времени загрузки за счёт распаралелливания запуска сервисов. Подобная совместимость упростит миграцию систем на rcd и даст возможность постепенно переводить в формат unit-файлов имеющиеся rc.d-скрипты.
Для совместимости с rc.d поддерживается специальный тип unit-ов "legacy". Rcd сканирует содержимое /etc/rc.d/ и /usr/local/etc/rc.d/, разбирает заголовки PROVIDE/REQUIRE/BEFORE/KEYWORD в скриптах, читает настройки rc.conf и определяет состояние запуска скриптов, после чего обрабатывает каждый скрипт как виртуальный legacy unit. В случае использования команды rcctl для управления подобными виртуальными unit-ами, операции транслируются в старый формат, например, выполнение "rcctl reload sshd" приведёт к запуску "/etc/rc.d/sshd reload".
Исследователи из компании Nebula Security раскрыли сведения о 18 уязвимостях в ядре Linux и подготовили для них эксплоиты, позволяющие непривилегированному локальному пользователю получить права root в системе. Уязвимости устранены в различных весенних и летних обновлениях ядра. Выявленные проблемы:
CVE-2026-43502 (эксплоит) - уязвимость в сетевой подсистеме RDS (Reliable Datagram Sockets), вызванная некорректной очисткой закреплённых страниц памяти при сбое отправки данных в режиме zerocopy на этапе до постановки сообщения в очередь. Проблема получила кодовое имя ZcopyReaper, проявляется начиная с версии ядра 4.17 и устранена в ядре в мае. Эксплуатации уязвимости возможна на системах с ядром, собранным с опциями CONFIG_INET=y, CONFIG_AIO=y, CONFIG_RDS=y|m и CONFIG_RDS_TCP=y|m (как правило выставляются по умолчанию). Прав для работы с пространствами имён идентификаторов пользователей для атаки не требуется. Работа эксплоита продемонстрирована в openSUSE со штатным ядром 6.4.
CVE-2026-80714 (эксплоит) - уязвимость в подсистеме IPVS (IP Virtual Server), вызванная обращением к памяти после её освобождения из-за ошибочного выставления флага IP_VS_CONN_F_ONE_PACKET при синхронизации соединения, которое после истечения времени жизни соединения приводит к оставлению в хэш-таблице висячих указателей, ссылающихся на уже освобождённую структуру ip_vs_conn. Проблема устранена 19 августа. Работа эксплоита продемонстрирована в Debian 13 c ядром 6.12.
CVE-2026-74597 (эксплоит) - уязвимость в драйвере ip6_tunnel, вызванная ошибочным применением к инкапсулированному пакету смещения для опции HAO (Home Address Option), вычисленного на основании внешнего пакета. Через передачу инкапсулированного пакета со специально оформленным заголовком можно добиться записи данных за пределы выделенного буфера. Проблема устранена 19 августа. Работа эксплоита продемонстрирована в CentOS c ядром 6.12.
CVE-2026-74581 (эксплоит) - уязвимость в коде для работы с таблицами маршрутизации IPv6, вызванная обращением к памяти после её освобождения (после освобождения памяти под маршрут оставался активный указатель на этот маршрут). Проблема устранена 19 августа. Работа эксплоита продемонстрирована в Debian 13 c ядром 6.12.
CVE-2026-74480 (эксплоит) - уязвимость в подсистеме сетевых мостов, вызванная обращением к памяти после её освобождения в коде выхода из multicast-группы (после удаления элемента из связного списка цикл не прерывался и в ходе итераций производилось обращение по указателю на список портов, оставшемуся после удаления). Проблема устранена 9 августа. Работа эксплоита продемонстрирована в RHEL 10 c ядром 6.12.
CVE-2026-72255 (эксплоит) - уязвимость в модуле nf_queue подсистемы netfilter, вызванная обращением к памяти после её освобождения, возникающим в ситуации, если после удаления сетевого моста связанный с ним пакет ещё находился в очереди NFQUEUE. Проблема устранена 24 июля. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-72137 (эксплоит) - уязвимость в модуле IPSec XFRM, приводящая к двойному освобождению структуры skb при ошибке отправки keepalive-пакета. Проблема устранена 30 июня. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-68376 (эксплоит) - уязвимость в реализации протокола SCTP, приводящая к переполнению буфера из-за некорректного расчёта размера массива для хранения HMAC-идентификаторов. Проблема устранена 3 августа. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-68162 (эксплоит) - уязвимость в реализации протокола SCTP, приводящая к обращению к памяти после её освобождения при попытке изменения sysctl-параметра после закрытия управляющего сокета.
Проблема устранена 10 апреля. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-64560 (эксплоит) - уязвимость в posix-cpu-timer, приводящая к обращению к памяти после её освобождения из-за состояния гонки между удалением таймера и вызовом exec() после смены лидера группы потоков. Проблема устранена 5 июля. Работа эксплоита продемонстрирована на устройстве Google Pixel с платформой Android.
CVE-2026-52933 (эксплоит) - уязвимость в подсистеме io_uring, приводящая в случае установки флага IO_POLL_CANCEL_FLAG к обращению к памяти после её освобождения из-за интерпретации как отрицательного числа значения atomic_read() при сравнении со счётчиком ссылок. Проблема устранена 15 апреля. Работа эксплоита продемонстрирована в Fedora Linux c ядром 6.19.
CVE-2026-52924 (эксплоит) - уязвимость в реализации протокола SCTP, приводящая к обращению к памяти после её освобождения из-за оставления активного указателя и данных в очереди отправки после освобождения таблицы потоков после возникновения ошибки "Stale Cookie". Проблема устранена 19 июня. Работа эксплоита продемонстрирована в Ubuntu 26.04 c ядром 7.0.
CVE-2026-52923 (эксплоит) - уязвимость в подсистеме SysV IPC, приводящая к обращению к памяти после её освобождения из-за оставления в структуре IDR висячего указателя на освобождённый элемент индекса. Проблема устранена 24 июля. Работа эксплоита продемонстрирована в RHEL 10 c ядром 6.12.
CVE-2026-52912 (эксплоит) - уязвимость в модуле nf_queue подсистемы netfilter, вызванная обращением к памяти после её освобождения из-за неверной обработки указателя после удаления сетевого моста при наличия связанных с ним пакетов в очереди NFQUEUE. Проблема устранена 1 июня. Работа эксплоита продемонстрирована в openSUSE c ядром 6.4.
CVE-2026-43501 (эксплоит) - уязвимость в коде переупаковки заголовков IPv6 SRH (Source Routing Header), приводящая к записи данных за пределы буфера из-за отсутствия проверки условий, при которых новый заголовок может оказаться больше старого. Проблема устранена 7 мая. Работа эксплоита продемонстрирована на соревновании kernelCTF.
CVE-2026-43042 (эксплоит) - уязвимость в механизме MPLS, приводящая к обращению к данным за пределами буфера из-за состояния гонки, возникающего при одновременном чтении блокировки и изменении размера таблицы.
Проблема устранена 11 апреля. Работа эксплоита продемонстрирована в Debian 13 c ядром 6.12.
CVE-2026-31678 (эксплоит) - уязвимость в подсистеме openvswitch, вызванная обращением к памяти после её освобождения из состоянии гонки при удалении ссылки на сетевое устройство до завершения цикла RCU (Read-Copy-Update). Проблема устранена 2 апреля. Работа эксплоита продемонстрирована в Fedora Linux 44 с ядром 6.19.
CVE-2026-31659 (эксплоит) - уязвимость в реализации протокола B.A.T.M.A.N. (Better Approach to Mobile Ad-hoc Networking), приводящая к переполнению буфера из-за целочисленного переполнения, вызванного использованием 16-битных значений при вычислении размера буфера. Проблема устранена 18 апреля. Работа эксплоита продемонстрирована в Arch Linux c ядром 6.19.
Представлен первый бета-выпуск проекта MiDesktop, развивающего форк среды рабочего стола KDE 1.1.2, адаптированный для работы на современных системах. Для решения проблем и избавления от ограничений лицензии, специфичных для ветки Qt 1, кодовая база KDE 1 портирована на фреймворк Osiris, развивающий актуализированный форк Qt 2.3.2. Код MiDesktop распространяется под лицензией GPLv2. Готовые сборки сформированы для Debian 13 и Ubuntu 24.04.
Ключевыми свойствами MiDesktop названы простота интерфейса, легковесность и высокая производительность. Разработчики пытаются сохранить общий минималистичный подход к разработке десктоп-систем конца 1990-х и начала 2000-х годов, но избавить среду рабочего стола от недостатков, присущих системам того времени, и модернизировать кодовую базу KDE 1, не перегружая при этом пользовательское окружение избыточной функциональностью.
Для запуска MiDesktop достаточно любой Linux-системы с glibc и X-сервером, таким как XWayland или X.Org Server, или прослойкой Wayback. Из зависимостей отмечены библиотеки libjpeg, libtiff, libpng,
Osiris Toolkit 2.4.4+, libxcb, libxkb и gettext. Для сборки необходимы CMake и GCC 12+.
Среди изменений в бета-выпуске:
Добавлена новая панель задач MiPanel, основанная на версии KPanel, поставлявшейся в Corel Linux.
Портированы приложения KCalc, KHexdit, KScreenshot, Ark и KNotes.
Реализована полноценная поддержка прокрутки с использованием колеса мыши (ранее прокрутка работала только при помещении курсора на полосу прокрутки).
Обеспечено корректное отображение шрифтов (ранее не работало сглаживание).
Устранены проблемы с пропаданием меню и случайными кликами на панели.
Налажено древовидное отображение списков в KDE Control Center.
Решены проблемы с изменением размера окон GTK-приложений, таких как Firefox, приводившие к смещению части окна за пределами видимой области.
Опубликована информация об уязвимости в операционной системе Qubes, использующей гипервизор для строгой изоляции приложений и компонентов ОС (каждый класс приложений и системные сервисы работают в отдельных виртуальных машинах). В случае если атакующий скомпрометирует одну из виртуальных машин, уязвимость позволяет обойти изоляцию, добиться выполнения произвольных команд на стороне хостового окружения (Dom0) и получить контроль над всей операционной системой. Проблема проявляется при использовании пользователем утилиты "qvm-copy-to-vm" для копирования файла из хостового окружения в подконтрольную атакующему виртуальную машину. Уязвимость устранена в обновлении пакета qubes-core-dom0-linux 4.3.22.
Проблема присутствует в утилите "qvm-copy-to-vm" и вызвана ненадлежащей обработкой ошибок, возвращаемых при обращении к виртуальной машине. Суть уязвимости в том, что утилита qvm-copy-to-vm для отображения информации об ошибке запускала программы kdialog или zenity, используя функцию system() и подставляя сведения о неудачно скопированном файле в числе опций в командной строке. При этом чистка имени файла ограничивалась вырезанием не-ASCII-символов и двойных кавычек без проверки наличия спецсимволов, интерпретируемых командной оболочкой, таких как "`" и "$".
После завершения копирования файлов из хостовой системы обработчик на стороне виртуальной машины передаёт обратно подтверждение операции, в котором среди прочего указывается имя последнего полученного файла.
Атака сводится к возвращению кода ошибки вместо подтверждения и указанию для файла, который не удалось скопировать, имени с обрабатываемыми командным интерпретатором спецсимволами. После получения ошибки обработчик на стороне хостового окружения запустит командой system() утилиту для показа диалога с текстом ошибки, передав в командной строке возвращённое атакующим имя файла (например, при указании "file`id`" на стороне хостового окружения будет запущена команда id).
После шести месяцев разработки сформирован релиз FreeBSD 14.5. Установочные образы подготовлены для архитектур amd64, i386, aarch64, armv7, powerpc, powerpc64 и riscv64. Дополнительно подготовлены сборки для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2, Google Compute Engine и Vagrant.
Следующее обновление FreeBSD 14.6 запланировано на март 2027 года. Поддержка нынешнего выпуска FreeBSD 14.5 будет осуществляться до 30 июня 2027 года, а прошлого выпуска FreeBSD 14.4 - до 31 декабря 2026 года. В целом ветка FreeBSD 14 будет сопровождаться до 30 ноября 2028 года. Поддержка ветки FreeBSD 13.x была прекращена 30 апреля 2026 года. Параллельно развивается ветка FreeBSD 15, актуальный выпуск 15.1 для которой был опубликован три месяца назад.
В ядре реализован Linux-совместимый механизм inotify для отслеживания изменений в файловых системах. В libc добавлены функции inotify_init, inotify_init1 и inotify_add_watch.
Добавлена sysctl-настройка security.bsd.unprivileged_kenv_read для запрета непривилегированного доступа к переменным окружения ядра (kenv).
В драйвер ФС msdosfs добавлена возможность использования Unicode-символов в именах файлов (налажена работа с разделами FAT32 с emoji в именах файлов).
В скрипте rc.firewall реализована поддержка подстановки в переменные firewall_allowservices и firewall_trusted содержимого внешних файлов со списками IP-адресов и подсетей.
В программу для работы с ленточными накопителями mt и библиотеку libmt добавлена поддержка картриджей LTO-10 и LTO-10P, а также новых форматов.
Изменено поведение утилиты вывода текущего пути pwd, которая в соответствии со спецификациями POSIX теперь по умолчанию использует режим отображения имён символических ссылок (-L) вместо показа пути на который указывают символические ссылки (-P).
В утилиту ipfw добавлен обработчик для вызова утилиты ipfw15 при запуске в системе с новым программным интерфейсом пакетного фильтра, появившемся в ядре FreeBSD 15.
В утилиту daemon добавлена опция "-m" для указания режима доступа к записываемому файлу для предоставления доступа обработчиков, запускаемых без прав root.
В скрипте local-unbound-setup реализована поддержка настройки DNS для систем, в которых используется только IPv6.
В заголовочный файл math.h добавлены предложенные в стандарте C23 тригонометрические функции sinpi, cospi и tanpi, умножающие переданный аргумент на число Pi.
Обновлён драйвер smartpqi, в который добавлена поддержка новых контроллеров Microchip Smart Storage SCSI и предоставлена возможность указания 32-разрядных значениях при определении размера буфера ввода/вывода.
В драйвер acpi добавлена поддержка дополнительных вариантов контроллеров Marvell 88SE9128 SATA (решило проблемы с работой на материнской плате Gigabyte GA-P55A-UD4) и реализована возможность управления энергопотреблением на системах Apple Mac с двумя GPU (включается через sysctl-параметр hw.acpi.apple_darwin_osi).
В драйвере asmc прекращена поддержка 32-разрядных устройств Apple Mac с CPU Intel.
В загрузчик lualoader добавлены команды be-list и be-switch для просмотра и переключения загрузочных окружений. Обеспечена обработка символических ссылок при поиске загружаемых ядер. Добавлен callback-обработчик для фильтрации загрузочных окружений в запускаемых загрузчиком Lua-скриптах.
В инсталляторе bsdinstall обеспечено корректное создание загрузочной записи FreeBSD UEFI.
Модули ядра nvidia, nvidia-modeset и nvidia-drm добавлены в чёрный список загрузчика для избежания аварийного завершения в случае их ранней загрузки через loader.conf.
В качестве компоновщика при использовании Clang по умолчанию задействован ld.lld (LLD) вместо промежуточного обработчика, определяющего компоновщик с учётом порядка обнаружения при поиске в файловых путях PATH. Старый подход приводил к замене фактически применяемого во FreeBSD компоновщика ld.lld в случае дополнительной установки в систему GNU ld.
В разряд устаревших переведён набор программ lpr, который будет удалён в выпуске FreeBSD 16.0. Вместо lpr рекомендовано использовать порт print/cups или sysutils/LPRng. В фоновом процессе lpd решена проблема с игнорированием номера порта из /etc/printcap при использовании IPv6.
Представлен релиз пользовательского окружения DankMaterialShell (DMS) 1.6, поддерживающего работу поверх композитных серверов niri, Hyprland, Sway, MangoWC, labwc, Scroll и Miracle WM. DankMaterialShell предоставляет единый набор сочетающихся между собой компонентов для формирования рабочего стола, таких как панель задач, переключатель виртуальных рабочих столов, интерфейс навигации по установленным приложениям и конфигуратор. Оформление соответствует концепции Material Design 3. Код фонового процесса для интеграции с системой, инструментария и инсталлятора написаны на языке Go и распространяются под лиценизей MIT. Компоненты интерфейса, панели, виджеты и графические приложения подготовлены на языке QML с применением фреймворка Quickshell, написанного на C++ с использованием Qt.
Возможности DankMaterialShell:
Динамические темы оформления, автоматически применяемые к GTK, Qt и системным приложениям. Цветовые схемы для тем формируются с учётом цвета выбранных обоев рабочего стола.
Встроенные в управляющий фоновый процесс средства сбора метрик о температуре и потреблении ресурсов CPU, ОЗУ и GPU. Наличие интерфейса для управления запущенными процессами.
Расширяемый через плагины интерфейс для навигации по установленным в системе приложениям с поддержкой поиска программ, файлов, открытых окон и команд.
Центр управления с интерфейсом для настройки сети, Bluetooth, звуковых устройств и экрана.
Возможность включения ночного режима работы, а также переключения между светлой и тёмной темами оформления.
Центр уведомлений, поддерживающий группировку уведомлений, использование разметки в тексте и навигацию при помощи клавиатуры.
Панель с виджетами для календаря, прогноза погоды, просмотра истории работы с буфером обмена и интеграции с мультимедийными проигрывателями при помощи протокола MPRIS.
Экран блокировки системы с возможностями управления сеансом. Возможна активация спящего режима или блокировка экрана при определённом периоде неактивности пользователя.
Универсальный инсталлятор, позволяющий развернуть и настроить окружение на базе DankMaterialShell в Arch, Fedora, Debian, Ubuntu, openSUSE, Gentoo и Void Linux.
Инструментарий Dank Search для поиска файлов в системе.
Календарь-планировщик Dank Calendar, поддерживающий протокол CalDAV и синхронизируемый с сервисами Google и Microsoft.
В разработке находится собственный файловый менеджер и приложение
DankConnect для интеграции со смартфоном.
Проведена оптимизация производительности, в результате которой доставка сообщений через IPC ускорена в 5.2 раза, сохранение изображений инструментом для создания скриншотов стало быстрее в 4-8 раз, а нагрузка на CPU при использовании пипетки для определения цветов снизилось в 3.9 раза. Потребление памяти пользовательским окружением снижено на 19% и теперь составляет 76 MB.
Предложен новый режим панели - Dank Island, в котором виджеты оформлены в виде визуально отделённых островков, динамически реагирующих на действия пользователя или системные события. Режим включается через опцию "Island" в настройках "Bar -> Appearance".
Сформирован первый выпуск экрана входа в систему dank-greeter.
В утилите для мониторинга за состоянием системы dgop и системе поиска dsearch добавлена начальная поддержка ОС FreeBSD.
В календаре-планировщике dcal реализована поддержка создания событий через перетаскивание элементов в дневные и недельные списки в режиме drag&drop. Разрешено выделение одновременно нескольких элементов.
В утилите для создания скриншотов разрешено выделение области экрана, охватывающей информацию с нескольких мониторов. Добавлена начальная реализация режима захвата с прокруткой содержимого для отражения областей в окне, требующих прокрутки. Добавлена поддержка Wayland-протокола wp_color_manager_v1, позволившего обеспечить работу c 10-битным представлением цвета и HDR.
Добавлен новый браузер плагинов.
Для GTK3-приложений реализована поддержка динамических тем оформления (GTK3-приложения теперь подхватывают изменение системной цветовой схемы на лету без необходимости перезапуска).
В интерфейсе выбора темы оформления реализован показ уровня контраста текста (AA - 4.5:1 или AAA - 7:1).
В интерфейс настройки сети добавлена поддержка включения Wi-Fi Hotspot для предоставления сетевого доступа другим системам. Добавлена кнопка обновления списка беспроводных сетей. В NetworkManager добавлен бэкенд для сотовых модемов.
Добавлена поддержка работы одновременно с несколькими Bluetooth-адаптерами.
В панели задач разделены закреплённые и запущенные приложения.
Добавлена начальная поддержка платформы FreeBSD.
Унифицировано присвоение номеров версий компонентам рабочего стола.
Версии dsearch, dgop, dcal и dgreeter теперь выпускаются вместе с DMS и имеют общий номер выпуска.
Сервисы Nitter и XCancel, предоставляющие альтернативный интерфейс для просмотра сообщений из социальной сети X (Twitter) без регистрации учётной записи, возобновили свою работу. Репозиторий проекта Nitter, в котором развивался свободный (GPLv3) фронтенд для доступа к X.com без навязывания JavaScript, аналитики, трекеров и сторонних сервисов, возвращён из архивного режима. Автор Nitter пока ограничился заявлением, что проект возвращён в строй после консультации с юристами. Похожее объявление опубликовали создатели XCancel. Дополнительные подробности планируют раскрыть позднее.
Работа сервисов Nitter и XCancel была остановлена две недели назад после получения от компании X Corp уведомления с требованием прекращения незаконной деятельности (cease and desist) под угрозой предъявления судебного иска. В уведомлении утверждалось, что сервисы нарушают специфичные для отдельных штатов и федеральные законы США, включая, принятый в Техасе Закон о вредоносном доступе к компьютерам (§ 143.001 и § 33.02) и Закон Лэнхема о товарных знаках (15 U.S.C. §§ 1114, 1125)». Разработчикам Nitter и XCancel вменялось незаконное обращение к API X.com и связанными с ними данными, а также получение доступа к учётным записям X и токенам сессий в нарушение правил сервиса.
Доступен выпуск проекта MicroPythonOS 0.18.0, разрабатывающего операционную систему для микроконтроллеров, таких как ESP32, написанную с использованием инструментария MicroPython. Операционная система оснащена графическим интерфейсом, развиваемым с оглядкой на Android и iOS, и поддерживающим управления через сенсорные экраны или кнопки навигации. Из областей применения MicroPythonOS упоминаются устройства интернета вещей (IoT), системы управления домашней автоматизацией, интерактивные панели, роботы и умные носимые устройства с управлением экранными жестами. Проект также может применяться для быстрой разработки прототипов новых устройств. Код написан на языках Си и Python и распространяется под лицензий MIT.
MicroPythonOS предлагает минимальную базовую систему, отвечающую за инициализацию и взаимодействие с аппаратным обеспечением, монтирование накопителей, многозадачность и интерфейс пользователя. Вся остальная функциональность, такая как настройка Wi-Fi и установка обновлений, вынесена в приложения. В базовый набор входит меню приложений, конфигуратор, виджет для настройки Wi-Fi, программа установки и обновления приложений.
Для приложений предлагается использовать язык MicroPython (урезанная редакция Python 3) и подмножество библиотек Python. Возможна установки внешних приложений, распространяемых через централизованный каталог App Store (например, через App Store распространяются просмотрщик изображений и программа для работы с камерой). Обновления доставляются по сети в режиме OTA (over-the-air). Имеется поддержка Wi-Fi, Blutooth, звуковых кодеков, датчиков IMU (Inertial Measurement Unit), сенсорных экранов и камер.
Среди изменений в новой версии:
Добавлена поддержка платы Waveshare ESP32-S3-Touch-LCD-3.5 с встроенным 3.5-дюймовым экраном (320x480) и звуковым кодеком ES8311.
В каталоге приложений AppStore добавлена кнопка "Scan QR" для сканирования QR-кода с идентификатором программы (https://badgehub.eu/page/project/APP_ID, micropythonos://app/APP_ID или mpos://app/APP_ID) и показа детальной информации о приложении. В программе для работы с камерой при сканировании QR-кодов добавлено распознавание ссылок на приложения и предоставление диалога для перехода в каталог приложений.
В AppManager предоставлена возможность привязки обработчиков URL к приложениям.
В музыкальном проигрывателе обеспечена работа флага зацикленного воспроизведения на всех платформах. Улучшена поддержка звуковых систем, подключаемых через шину I2S (Inter-IC Sound).
В менеджере шрифтов реализовано кэширование кодов emoji.
В TaskManager добавлена функция для отслеживания состояния запущенных задач и их перезапуска при завершении работы. Режим автоперезапуска применён к консоли aiorepl.
Добавлено сжатие статичных архивов ФС (freezefs --compress), а также включена чистка pycache-файлов и оставленных в сборочном окружении резервных копий, что позволило уменьшить размер прошивки на 39 КБ. Включено сжатие шрифтов Montserrat 10-18, что сэкономило 19 КБ.
Опубликован выпуск проекта Noctalia 5.0, развивающего пользовательское окружение, способное функционировать поверх любых композитных менеджеров, поддерживающих Wayland-протокол layer-shell, например,
Niri, Hyprland, Sway, Scroll, Mango, Labwc, Triad и dwl. Отдельно разработчиками Noctalia на базе библиотеки wlroots развивается собственный композитный менеджер Umbriel, который пока не достиг готовности к релизу. Код написан на языке C++ и распространяется под лицензией MIT.
Предлагаемое проектом Noctalia окружение включает в себя панель, меню запуска программ, конфигуратор, хранитель экрана, систему вывода уведомлений, систему управления сеансами, механизм просмотра истории буфера обмена, набор виджетов и экран входа в систему. При разработке используются возможности протокола Wayland и графического API OpenGL ES, без применения готовых тулкитов, таких как Qt и GTK. Компоненты среды рабочего стола развиваются как унифицированный стек, использующий единое оформление, конфигурацию и IPC. Настройки определяются в формате TOML и могут изменяться на лету, без перезапуска оболочки.
Предлагаются настраиваемые панели инструментов, виртуальные рабочие столы, различные раскладки многомониторных конфигураций, системный лоток с виджетами для управления воспроизведением мультимедийного контента, настройки сети, отслеживания заряда аккумулятора, управления громкостью и яркостью, показа прогноза погоды. Для расширения функциональности разработано более 100 плагинов, предлагающих дополнительные виджеты, интерфейсы навигации по программам, панели, фоновые сервисы, расширения к композитному менеджеру, модули интеграции с оборудованием и сторонними сервисами.
Разработчики GNOME обсуждают внедрение нового процесса принятия решений, основанного на публикации предложений в форме RFC (Request for Comments) и их последующего совместного утверждения. Участникам GNOME Foundation предлагается подключиться к обсуждению и высказать свои замечания до 4 октября. Модель на основе RFC планируют применять только в особых случаях, для разрешения тупиковых ситуаций, утверждения глобальных изменений в проекте, затрагивающих методы работы участников или код разных приложений и подсистем, а также архитектурных изменений и крупных переработок интерфейса.
Отмечается, что ныне практикуемая неформальная модель на основе принятия индивидуальных решений, приводит к выгоранию участников, затяжным спорам и изнурительному поиску консенсуса в чатах.
Новая модель предлагает жёсткий регламент для повышения прозрачности, структурирования процесса и переходу к коллективной ответственности за решение вместо личной. Из недостатков модели управления на основе RFC отмечается сложность процесса для некоторых разработчиков и отсутствие механизма разрешения конфликтов, приводящих к зависанию важных RFC.
Этапы продвижения RFC:
Отправка в репозиторий GNOME/rfcs файла RFC-XXXX-название.md со структурировано оформленным предложением и ссылкой на обсуждение.
Обсуждение предложения на платформе Discourse с попутной доработкой и внесением правок в RFC.
Публикация участниками возражений с пометкой "**Concern**", описывающих возможные проблемы или предлагающих иной путь решения. В случае поддержки возражения редактором или одним из заинтересованных участников, оно переводится в разряд обязательных для рассмотрения.
Рассмотрение высказанных возражений, выработка мер по их урегулированию и внесение в RFC изменений.
После завершения обсуждения и рассмотрения возражений объявляется 14-дневный финальный период комментариев (FCP, Final Comment Period), во время которого можно заявить только новые возражения. Если новое возражение принято, то обсуждение перезапускается, а период финального приёма возражений сдвигается.
После окончания финального периода комментариев и разрешения всех возражений, RFC либо принимается, либо отклоняется.
Компания Amazon начала тестирование дистрибутива Amazon Linux 2027 (AL2027), оптимизированного для облачных окружений и поддерживающего интеграцию с инструментами и расширенными возможностями сервиса Amazon EC2. В качестве основы задействована пакетная база Fedora Linux. Сборки формируются для архитектур x86_64 и ARM64 (Aarch64). Несмотря на первостепенную ориентацию на использование в AWS (Amazon Web Services), дистрибутив также поставляется в форме универсального образа виртуальной машины, который можно запустить на локальной системе или в других облачных окружениях.
При формировании Amazon Linux 2027 задействованы компоненты из Fedora 44 и 45, многие пакеты включают специфичные для Amazon Linux модификации или сопровождаются отдельно от Fedora.
Задействовано собственное ядро Linux, построенное на основе ветки 7.1 и включающее новые драйверы для устройств Elastic Network Adapter (ENA) и Elastic Fabric Adapter (EFA), а также оборудования, применяемого в инфраструктуре Amazon EC2. Обновления для ядра Linux выпускаются с применением технологии "live patching", дающей возможность устранить уязвимости и применить важные исправления к ядру без перезагрузки системы. Включена верификация модулей ядра по цифровой подписи.
Пакеты пересобраны с опциями "-O2 -ftree-vectorize" и с включением оптимизаций на этапе связывания (LTO) для архитектур x86-64-v3 (-march=x86-64-v3, задействованы инструкции AVX и AVX2) и ARM 8.2 (-march=armv8.2-a+crypto -mtune=neoverse-n1).
Для управления пакетами по умолчанию задействован пакетный менеджер RPM 6.0 и инструментарий DNF5, базовая функциональность управления пакетами в котором вынесена в отдельную библиотеку libdnf5, вместо привязок к PackageKit задействован DNF Daemon, а компоненты на Python переписаны на С++.
Подготовлены бэкпорты с вариантами системных компонентов, оптимизированными для ARM-процессоров Graviton.
Опубликован релиз свободного редактора звука Audacity 4.0, предоставляющего средства для редактирования звуковых файлов (Ogg Vorbis, FLAC, MP3 и WAV), записи и оцифровки звука, изменения параметров звукового файла, наложения треков и применения эффектов (например, подавление шума, изменение темпа и тона). Код Audacity распространяется под лицензией GPLv3, бинарные сборки доступны для Linux, Windows и macOS.
Интерфейс пользователя полностью переписан с использованием фреймворка Qt. Реализована полноценная поддержка экранов с высокой плотностью пикселей (high-DPI).
В интерфейсе реализована поддержка плавающих панелей, а также возможности для закрепления, управления видимостью и перемещения панелей.
Предоставлена возможность изменения раскладки элементов в интерфейсе и сохранения новой раскладки в качестве отдельного рабочего пространства. Предложено три преднастроенных рабочих пространства - Modern, Classic и Music.
Реализована страница Home, на которой показываются миниатюры с недавно открытыми проектами.
Добавлены светлая, тёмная и контрастная темы оформления. Обеспечено использование акцентных цветов. Появилась возможность изменения цвета треков и стилей клипов.
Для хранения файлов проекта задействован новый формат ".aup4", который поддерживает сохранение в проекте миниатюр для предпросмотра. При открытии файлы в формате ".aup3" автоматически конвертируются в новый формат.
Новые возможности редактирования клипов: прямое выделение одного или нескольких клипов кликом на заголовке; одновременное редактирование (перемещение, обрезка, растяжение времени) нескольких клипов; группировка клипов для перемещения, копирования и вставки нескольких клипов разом; перемещение клипов между дорожками моно и стерео; перемещение одного клипа на другой с заменой перекрываемых частей; отдельный инструмент разделения клипа; автоматическое создание дорожки при вставке; расширенные направляющие и привязка к границам сэмплов.
Вместо отдельных режимов выделения и рисования предложены контекстно-зависимые инструменты.
Реализована поддержка перемещения по дорожке без остановки воспроизведения. Указатель воспроизведения теперь не скрывается во время навигации и допускает перемещение.
Разрешено начинать запись в любом месте временной шкалы с созданием нового клипа в отмеченной позиции. Переработаны функции для записи врезкой (Punch and Roll), компенсации задержек и мониторинга записи отдельных треков. В заголовки треков добавлены динамические индикаторы уровня воспроизведения и записи.
В настройках появилась возможность изменения маппинга каналов.
В сборках для Windows реализована поддержка ASIO.
На Qt портированы встроенные эффекты, генераторы и анализаторы звука.
Прекращена поддержка плагинов VAMP и LADSPA. Поддерживаемые форматы плагинов: VST3, Nyquist, LV2 (Linux) и Audio Units (macOS).
Из не перенесённых из Audacity 3 возможностей (планируют добавить в следующих выпусках): дорожки тайм-кода (Time Tracks), нотные/MIDI дорожки, микшер, инструменты скриптинга, воспроизведение с изменением скорости и сохранением высоты тона.