The OpenNET Project / Index page

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

·26.01 Выпуск редактора RAW-изображений RapidRAW 1.4.9 (11 +2)
  Опубликован выпуск RapidRAW 1.4.9, свободного редактора для проявки RAW-изображений, позиционируемого как легковесная альтернатива Adobe Lightroom. Приложение ориентировано на быструю отбраковку больших серий снимков и недеструктивное редактирование. Код проекта написан на языках Rust и TypeScript (с использованием фреймворка Tauri), интерфейс построен на React. Исходные тексты распространяются под лицензией AGPLv3. Готовые сборки доступны для Linux (Flatpak, AppImage, DEB, RPM), Windows и macOS.

Ключевые изменения в новой версии:

  • Интегрирована библиотека Lensfun для автоматической коррекции дисторсии и виньетирования на основе базы профилей объективов.
  • Представлен инструмент трансформации геометрии, позволяющий исправлять заваленный горизонт и перспективные искажения с помощью направляющих линий.
  • Переработана логика работы с локальными коррекциями. Обеспечен строгий порядок обработки составных частей маски, что устранило неоднозначность результата при сложном комбинировании форм (например, при сложении нескольких градиентов). Реализована поддержка перетаскивания (Drag-and-Drop) для изменения очерёдности слоёв, а также независимая инверсия и настройка прозрачности для каждого примитива внутри маски.
  • Добавлена система профилей экспорта: пользователи могут сохранять наборы параметров (формат файла, качество сжатия, каталог сохранения, шаблон переименования) для быстрого переключения между задачами.
  • Взаимодействие с нейросетями вынесено в отдельный модуль RapidRAW-AI-Connector. Утилита служит прослойкой между редактором и локальным сервером ComfyUI (графический интерфейс для Stable Diffusion на основе узлов), обеспечивая кэширование результатов генерации и встраивание внешних сценариев обработки (workflows).
  • Оптимизирован рендеринг ленты снимков: внедрение виртуализации списка (отрисовка в DOM только видимых элементов) решило проблему падения производительности при навигации по каталогам, содержащим тысячи фотографий.
  • Обновлён декодер метаданных и изображений. Улучшена совместимость с RAW-файлами камер Fujifilm (.RAF) и Canon (.CR3), унифицирован разбор EXIF-данных.
  • Доработана цветовая схема тёмной темы интерфейса для повышения контрастности элементов управления.

  1. Главная ссылка к новости
  2. OpenNews: Релиз программы для обработки фотографий RawTherapee 5.12
  3. OpenNews: Системы машинного обучения для синтеза изображений и подавления шумов на ночных фото
  4. OpenNews: Google опубликовал библиотеку Magritte для скрытия лиц на видео и фотографиях
  5. OpenNews: Релиз программы для обработки фотографий Darktable 5.4.0
Обсуждение (11 +2) | Автор: Аноним | Тип: Программы |


·26.01 Выпуск SVT-AV1 4.0, кодировщика для формата видео AV1 (60 +13)
  Опубликован выпуск библиотеки SVT-AV1 4.0.0 (Scalable Video Technology AV1) c реализациями кодировщика и декодировщика формата кодирования видео AV1, для ускорения которых задействованы присутствующие в процессорах x86_64 и ARM расширения для аппаратного распараллеливания вычислений. Проект создан компанией Intel в партнёрстве с Netflix с целью достижения уровня производительности, пригодного для перекодирования видео на лету и применения в сервисах, отдающих видео по запросу (VOD). В настоящее время разработка ведётся под эгидой альянса Open Media (AOMedia), курирующего развитие формата кодирования видео AV1. Ранее проект развивался в рамках проекта OpenVisualCloud, который также разрабатывает кодировщики SVT-HEVC и SVT-VP9. Код распространяется под лицензией BSD.

SVT-AV1 может быть собран для систем на базе любых архитектур, для которых имеется компилятор с поддержкой стандарта C99, но наилучшая производительность достигается на системах x86_64, для которых применяются ассемблерные оптимизации на базе инструкций SIMD (желательно наличие в CPU поддержки AVX2, но в качестве минимума достаточно и SSE2). Потребление памяти зависит от числа задействованных при кодировании процессорных ядер, регулируемых опцией "--lp". Из-за усложнения применяемых в AV1 алгоритмов, для кодирования данного формата требуется существенно больше ресурсов, чем для других форматов, например, штатный кодировщик от проекта AV1 требует в 5721, 5869 и 658 раз больше вычислений по сравнению с кодировщиками x264 (профиль "main"), x264 (профиль "high") и libvpx-vp9.

Среди изменений в новом выпуске SVT-AV1:

  • Проведена оптимизация режимов кодирования одиночных кадров и изображений в формате AVIF. Для пресетов M0-M11 при включении параметра MS-SSIM (--tune 4) отмечено повышение скорости кодирования в 5-8 раз при сохранении уровня качеста. При оценке при помощи метода BD-Rate (Bjontegaard-Delta) отмечается повышение эффективности сжатия на 5-8% при том же уровне сложности.
  • Проведена оптимизация компромиссов качество/скорость при кодировании в режиме "--rtc" (Real-Time Communications). Для пресетов M7-M11 наблюдается увеличение скорости на 5-15% при сохранении уровней качества.
  • Проведена оптимизация компромиссов качество/скорость при кодировании в режиме случайного доступа (Random Access). Для пресетов M0-M7 отмечается ускорение на 10-25% без потери качества при использовании опции "--fast-decode=1|2).
  • На системах ARM задействованы дополнительные оптимизации на базе расширений Neon и SVE2, позволившие на 5% повысить производительность кодирования потоков в низком разрешении с высокой глубиной цвета.
  • Из форка SVT-AV1-PSY, сопровождение которого прекращено, завершён перенос расширенных возможностей для режима высокого визуального качества, включаемого при использовании настроек "--tune 0" (VQ, Video Quality) для видео и "--tune 3" (IQ, Image Quality) для изображений Avif.
  • Реализован метод психовизуального моделирования AC Bias, улучшающий сохранение детализации и шума от сенсора камеры.
  • Улучшена поддержка S-кадров (Switch Frames), применяемых при переключении между потоками разного качества. Добавлена поддержка S-кадров в опциях настройки квантования (QP, Quantization Parameter) и порядка декодирования.
  • Добавлена возможность применения режимов IQ (Image Quality) и MS-SSIM (Multi-Scale Structural Similarity Index) при кодировании изображений и отдельных кадров.
  • Внесены изменения в API, среди прочего нарушающие обратную совместимость.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск SVT-AV1 3.1.0, кодировщика для формата видео AV1
  3. OpenNews: Разработчики кодека AV1 представили формат IAMF для объёмного звука
  4. OpenNews: Уязвимость в эталонных реализациях кодеков AV1 и VP8/VP9
  5. OpenNews: Кодек AV2 продемонстрировал снижение битрейта на 30% при уровне качества AV1
Обсуждение (60 +13) | Тип: Программы |


·26.01 Представлен смартфон NexPhone, совмещающий Android, Debian и Windows (122 +15)
  Компания Nex Computer, в прошлом развивавшая dock-станцию NexDock для превращения Android-смартфона в ноутбук, анонсировала смартфон NexPhone. Компания вынашивала идею создания данного устройства с 2012 года и смогла реализовать проект только спустя 14 лет. В новом устройстве попытались совместить традиционный смартфон с переносной рабочей станцией, позволяющей получить полноценную среду рабочего стола при подключении смартфона к монитору, клавиатуре и мыши. NexPhone поставляется с платформой Android и примечателен наличием возможности запуска рабочих столов на базе Debian и Windows 11, которые доступны не только при подключении монитора, но и через штатный 6.58-дюймовый экран.

При подключении к стационарному монитору доступны три варианта интерфейса: появившийся в ветке Android 16 многооконный интерфейс для больших экранов с панелью задач в стиле ChromeOS, а также среды рабочего стола, построенные с использованием Debian GNU/Linux и Windows 11.

Графическая среда на базе Debian вызывается непосредственно из интерфейса Android как отдельное приложение, поддерживает аппаратное ускорение графики. На сайте проекта не упоминается как именно организован запуск Debian, вероятно подобная функциональность основана на проектах типа Lindroid и DebDroid или добавленной в Android 16 QPR2 возможности для запуска виртуальных машин с Linux и приложении Linux Terminal.

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

NexPhone поставляется в защищённом пыле- и водонепроницаемом корпусе, соответствующем степеням защиты MIL-STD-810H, IP68 и IP69K. Устройство оснащено 6.58-дюймовым экраном (1080×2403, 120Hz), 12 ГБ ОЗУ, 256GB Flash + карта microSD, восьмиядерным процессором Qualcomm QCM6490, GPU Qualcomm Adreno 643, Wi-Fi 6E, Bluetooth 5.2 LE, NFC, GPS/A-GPS, BeiDou, Galileo, GLONASS, Dual SIM, USB-C 3.1. Имеется три камеры: основная Sony IMX787 64MP (также применяется в Google Pixel 8 Pro и Pixel 9 Pro Fold), широкоугольная Samsung S5K3L6XX 13MP и селфи-камера Samsung S5K3J1SX 10MP. Аккумулятор 5000mAh Li-ion с поддержкой проводной 18W и беспроводной зарядки. Размер 173×82.6×13.1 мм, вес 256 гр.

Для подключения монитора, клавиатуры, мыши и периферийных устройств в комплект входит USB-C хаб с переходником для HDMI. Также поддерживается использование беспроводных клавиатуры и мыши по Bluetooth с прямым подключением монитора через порт USB-C. В настоящее время проект находится на стадии запуска массового производства. Поступление NexPhone в продажу запланировано на третий квартал 2026 года по цене $549.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск платформы Android 16 QPR2 с поддержкой запуска графических Linux-приложений
  3. OpenNews: Google подтвердил грядущее слияние Android и Chrome OS
  4. OpenNews: В Android встроена возможность запуска графических Linux-приложений
  5. OpenNews: Компания Canonical представила редакцию Ubuntu для смартфонов
  6. OpenNews: Опубликован postmarketOS 25.12, Linux-дистрибутив для смартфонов и мобильных устройств
Обсуждение (122 +15) | Тип: К сведению |


·25.01 Выпуск сервисного менеджера s6-rc 0.6 (71 +13)
  Доступен выпуск сервисного менеджера s6-rc 0.6.0.0, предназначенного для управления запуском скриптов инициализации и сервисов. Поддерживается отслеживание дерева зависимостей и автоматический запуск или завершение сервисов для достижения указанного состояния. Инструментарий s6-rc может применяться как в системах инициализации, так и для организации запуска произвольных сервисов в привязке к событиям, отражающим изменение состояния системы. Система поддерживает скрипты инициализации, совместимые с sysv-init, и может импортировать информацию о зависимостях из sysv-rc или OpenRC. Код написан на языке Си и распространяется под лицензией ISC.

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

В отличие от других сервисных менеджеров s6-rc поддерживает упреждающее (в offline-режиме) построение графа зависимостей для имеющегося набора сервисов, что позволяет выполнить ресурсоёмкий анализ зависимостей отдельно, а не во время загрузки или изменения состояния. При этом система не является монолитной и разбита на серию отдельных и заменяемых модулей, каждый из которых в соответствии с философией Unix решает только определённую задачу. Проект s6-rc придерживается философии минимализма (не содержит ничего лишнего) и потребляет минимум ресурсов.

Вместо уровней запуска (runlevel) в s6-rc предлагается концепция наборов (bundles), позволяющая группировать сервисы по произвольным признакам и решаемым задачам. Для повышения эффективности работы используется скомпилированная БД зависимостей, создаваемая утилитой s6-rc-compile на основе содержимого каталогов с файлами для запуска/остановки сервисов. Для разбора и манипуляций с БД предлагаются утилиты s6-rc-db и s6-rc-update.

В новой версии добавлены коллекции утилит s6-rc-repo-* и s6-rc-set-* для управления репозиториями с определениями сервисов; обеспечена поддержка разделяемых библиотек на платформе macOS; добавлена опция "--bootdb" для настройки на этапе сборки загрузочной базы данных с информацией о сервисах и зависимостями между ними; в утилиту s6-rc-compile добавлена опция "-v2".

Проектом также развиваются сопутствующие пакеты, дополняющие s6-rc:

  • s6 - утилиты для отслеживания работы процессов и управления процессами (аналог daemontools и runit). Поддерживаются такие возможности как перезапуск процессов после их аварийного завершения, запуск обработчика (активация сервиса) при обращении к сетевому порту, журналирование событий (замена syslogd) и контролируемое предоставление дополнительных привилегий (аналог sudo).
  • s6-linux-init - реализация init-процесса для операционных систем на базе ядра Linux, применяемого для создания систем инициализации, в которых для управления сервисами и скриптами используются пакеты s6 и s6-rc.
  • s6-networking - набор утилит для создания сетевых сервисов, похожий на ucspi.
  • s6-frontend - обвязка для воссоздания функциональности daemontools и runit поверх s6.
  • s6-portable-utils - набор типовых Unix-утилит, таких как cut, chmod, ls, sort и grep, оптимизированных для потребления минимальных ресурсов и поставляемых под лицензией ISC.
  • s6-linux-utils - набор утилит, привязанных к Linux, таких как chroot, freeramdisk, logwatch, mount и swapon.
  • mdevd - менеджер событий (аналог udevd), предназначенный для обработки горячего подключения устройств. По конфигурации mdevd совместим с mdev из состава Busybox.
  • bcnm - сетевой конфигуратор с возможностями для настройки Wi-Fi на стороне клиента.
  • execline - язык написания сценариев.
  • skalibs - библиотека для создания безопасных системных приложений на языке Си.
  • s6-dns - набор клиентских библиотек и утилит, заменяющих типовые DNS-утилиты из BIND и djbdns.
  • dnsfunnel - перенаправляет локальные DNS-запросы на внешний сервер (DNS forwarder).
  • shibari - простой DNS-сервер.
  • tipidee - HTTP-сервер с поддержкой HTTP/1.1.

  1. Главная ссылка к новости
  2. OpenNews: Релиз T2 SDE 25.10, платформы для создания дистрибутивов
  3. OpenNews: Опубликован системный менеджер GNU Shepherd 1.0.0
  4. OpenNews: Уязвимость в системе инициализации finit, позволяющая войти в систему без пароля
  5. OpenNews: Первый выпуск минималистичной системы инициализации Nitro
  6. OpenNews: Выпуск системы инициализации SysVinit 3.15. Переход проекта с GitHub на CodeBerg
Обсуждение (71 +13) | Тип: Программы |


·25.01 Представлена ФС DAXFS, похожая на ramfs и tmpfs, но работающая в обход страничного кэша (32 +12)
  Конг Ванг (Cong Wang), сопровождающий подсистему управления трафиком (TC, Traffic Control) в ядре Linux и развивающий проект Multikernel, представил в списке разработчиков ядра Linux новую файловую систему DAXFS. DAXFS использует для хранения данных оперативную память, работает в режиме только для чтения и напоминает по функциональности урезанные файловые системы ramfs и tmpfs. Модуль ядра с реализацией DAXFS, а также утилита mkdaxfs для создания ФС опубликованы под лицензией GPLv2. После рецензирования рассматривается возможность интеграции DAXFS в основной состав ядра.

Ключевой особенностью новой ФС является задействование подсистемы DAX (Direct Access) для работы в обход страничного кэша и прямого обращения к разделяемой физической памяти. В ramfs и tmpfs содержимое сохраняется в страничном кэше, что при использовании одной ФС в нескольких контейнерах или ядрах, запущенных при помощи технологии Multikernel, приводит к размещению нескольких копий данных в физической памяти. Наполнение ramfs и tmpfs также требует выполнения лишних операций копирования без возможности выполнить маппинг существующей области памяти.

Прямой доступ к памяти в DAXFS позволяет исключить лишние операции копирования и организовать работу в обход традиционного стека ввода/вывода на базе блочных устройств и механизмов буферизации, а также избавиться от фрагментации выделения памяти при совместном использовании одной ФС в разных контейнерах и multikernel-ядрах. DAXFS работает в режиме Zero-Copy и напрямую отдаёт содержимое файлов из памяти без лишнего дублирования данных в страничном кэше и с возможностью маппинга непрерывных областей физической памяти в каждый экземпляр контейнера или ядра. Дополнительно поддерживается использование API dma-buf для использования памяти, экспортируемой GPU, FPGA/SmartNIC или CXL-устройствами.

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

Ключевой областью использования DAXFS называется применение совместно с технологией Multikernel, позволяющей на одном физическом компьютере выполнять несколько независимых экземпляров ядра Linux, которые имеют прямой доступ к аппаратным ресурсам и могут использоваться для запуска нескольких изолированных системных окружений.

DAXFS также может применяться для организации совместного доступа нескольких контейнеров или ядер к базовому системному образу, размещённому в разделяемой памяти; снижению накладных расходов при обращении к информации в памяти аппаратных ускорителей; организации обращения к памяти с нескольких хостов без сетевого ввода-вывода или к постоянной памяти, используя устройства на базе шины CXL (Compute Express Link).

  1. Главная ссылка к новости
  2. OpenNews: Представлен Multikernel, механизм для одновременного выполнения нескольких ядер Linux
  3. OpenNews: Выпуск отказоустойчивой файловой системы LittleFS 2.10
  4. OpenNews: Открыт код распределённой файловой системы 3FS, используемой в DeepSeek
  5. OpenNews: Открыт код распределённой файловой системы TernFS
  6. OpenNews: Компания Huawei предложила новую ФС EROFS для ядра Linux
Обсуждение (32 +12) | Тип: Программы | Интересно


·25.01 Выпуск компилятора языка D 2.112 (113 +10)
  Опубликован релиз DMD 2.112, эталонного компилятора для языка D. Код компилятора распространяется под свободной лицензией BSL (Boost Software License). Поддерживаются системы Linux, Windows, macOS и FreeBSD.

Язык D использует статическую типизацию, обладает синтаксисом, схожим с C/C++, и обеспечивает производительность компилируемых языков. Язык D также заимствует некоторые возможности динамических языков, полезные для повышения эффективности разработки и обеспечения безопасности. Например, имеется поддержка: ассоциативных массивов, косвенного определения типов, автоматического управления памятью, средств параллельного программирования, шаблонов, компонентов для метапрограммирования. Опционально доступен сборщик мусора. В программах на языке D можно использовать библиотеки на языке C, а также некоторые библиотеки на C++ и Objective-C.

Среди изменений в выпуске 2.112:

  • Операции над Ассоциативным массивом (хэшмап) реализованы через шаблоны.
  • Битовые поля включены в язык и теперь не нужно использовать отдельный "-preview=bitfields".
  • Висящие операторы "else", указанные без выделения блока фигурными скобками, теперь будет выдавать ошибку вместо предупреждения:
    
       int i, j;
       if (i)
           if (j)
               return 1;
           else    // Error: else is dangling, add { } after condition `if (i)`
               return 2;
    
    
  • Добавлен новый ключ "-extI" для указания внешних путей импорта, который аналогичен параметру пути импорта (-I), за исключением указания на то, что найденный с его помощью модуль находится вне компилируемого в данный момент исполняемого файла. В Windows он используется, когда параметр переопределения dllimport установлен на любое значение, кроме "none", чтобы принудительно импортировать символы внешнего модуля с помощью DllImport.
  • Добавлены модули для C-файлов. Подобно расширению "__import", ключевое слово "__module" переносит объявление модулей из языка D в язык C. Это особенно полезно, когда необходимо импортировать несколько C-файлов с одинаковым именем (например, hello/utils.c и world/utils.c), поскольку оба файла должны быть импортированы с помощью import utils, когда они указаны в командной строке, что приводит к конфликтам.
    
    
       --hello/utils.c:
    
       #if __IMPORTC__
       __module hello.utils;
       #endif
    
       int sqr(int x) { return x * x; }
    
       --world/utils.c:
    
       #if __IMPORTC__
       __module world.utils;
       #endif
    
       int max(int a, int b) { return a > b ? a : b; }
    
       --app.d:
    
       import hello.utils;
       import world.utils;
    
       static assert(sqr(3) == 9);
       static assert(max(3, 5) == 5);
    
    
  • Объявлено устаревшим неявное преобразование целых чисел в присваивании значений типа "int op= float". Это сделано для предотвращения потенциальных ошибок, когда присваивание "op=" неявно обрезает правую часть выражения от ненулевого значения до нуля.
    
       uint a;
       float b = 0.1;
       a += b; // Deprecation: `uint += float` is performing truncating conversion
    
  • В runtime добавлены несколько новых шаблонных реализаций.
  • Исправлены ошибки связанные с недокументированным изменением в ABI macOS 15.4.
  • С-макросы теперь преобразуются в шаблоны при работе "ImportC":
    
       import core.sys.posix.stdlib;
       import core.sys.posix.unistd;
    
       extern(C) int main()
       {
           int status, pid = vfork();
           if (pid == 0)
           {
               // ...
               return 0;
           }
    
           waitpid(pid, &status, 0);
           if (WIFEXITED(status))
           {
               // ...
           }
           return 0;
       }
    
  • В стандартной библиотеке реализована функция "lazyCache", которая предоставляет механизм кэширования диапазонов с отложенной оценкой. В отличие от cache, который немедленно оценивает элементы диапазона во время его создания, lazyCache откладывает оценку до тех пор, пока элементы не будут явно запрошены.
    
       auto result = iota(-4, 5).map!(a => tuple(a, expensiveComputation(a)))().lazyCache();
       // No computations performed at this point
    
       auto firstElement = result.front;
       // First element is now evaluated
    
  • Улучшена обратная совместимость "getrandom()" на старых версиях Linux и других системах.
  • "std.uni" обновлена до поддержки Unicode 17.
  • В "std.uuid" добавлена поддержка uuid v7 .
  • Новый API для "std.conv", где появились три функции "writeText", "writeWText" и "writeDText".
  • В пакетный менеджер dub добавлена опция "-dest и ключ frameworks.
    
       --Было:
    
       lflags "-framework" "Cocoa"
    
       --Теперь можно:
       frameworks "Cocoa" "OpenGL"
    

Дополнительно можно отметить разработку ряда интересных проектов на языке D:

  • В области разработки игр (GameDev) были следующие обновления: в dvn, движок для создания визуальных новелл, добавлены примеры использования. В порт движка Godot добавлена экспериментальная поддержка экспорта в Web. В Steam выпущена игра The Art of Reflection, реализованная с использованием технологий D и DirectX на собственном движке.
  • В области веб-разработки развивается легковесный планировщик файберов photon, который показал высокие результаты в тесте производительности TechEmpower и вошёл в топ 10 результатов по нескольким тестам (Plaintest, JSON). Данный движок был интегрирован в популярный веб-фреймворк Vibe.D, в результате чего удалось добиться прироста производительности без изменения кода веб-приложений.
  • После анонса о начале разработки нового сборщика мусора на конференции Dconf (видео1, видео2), данное обновление вошло в новый релиз. Новый GC также можно попробовать установить в качестве отдельного пакета. На данный момент поддерживается архитектура x86_64 для OC Linux и Windows. Продолжается работа над поддержкой macOS и других архитектур.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск компилятора языка D 2.111
  3. OpenNews: Выпуск компилятора языка D 2.110
  4. OpenNews: Выпуск компилятора языка D 2.100
  5. OpenNews: Для языка D представлен runtime для программирования микроконтроллеров
Обсуждение (113 +10) | Автор: D_dev | Тип: Программы |


·25.01 Обновление графического редактора GIMP 3.0.8 (102 +18)
  Представлен выпуск графического редактора GIMP 3.0.8. Готовые сборки опубликованы для Linux (AppImage, Snap и Flatpak для архитектур x86 и ARM64), macOS и Windows. Основное внимание при подготовке версии 3.0.8 уделено исправлению ошибок и регрессивных изменений. Новая функциональность будет предложена в ветке GIMP 3.2, в которой появится поддержка слоёв-ссылок (Link layer) и векторных слоёв (Vector layer), а также расширеной поддержки цветовой модели CMYK и возможностей для управления цветом.

Среди изменений в GIMP 3.0.8:

  • Из ветки 3.2 бэкпортированы оптимизации для повышения производительности загрузки шрифтов, которые позволили сократить время запуска GIMP при наличии большого числа шрифтов в системе и решить проблемы с отрисовкой шрифтов в изображениях, когда изображение в формате XCF загружено до того как загрузились все шрифты.
  • В дополнение к команде gimp-console-3.0 реализована поддержка флага "--no-interface" для выполнения операций в консольном режиме. Добавлена информация о флаге "--show-debug-menu".
  • Решены проблемы, возникавшие при экспорте WEBP-изображений, загрузке цветовых профилей в Windows, экспорте XCF-файлов в режиме совместимости с GIMP 2.10, импорте формата SVG.
  • Устранено аварийное завершение при использовании фильтра Equalize с некоторыми изображениями.
  • Исправлен ошибочный вывод всплывающей панели поиска.
  • Решены проблемы с отображением текстур в панелях Navigation и Selection Editor при тёмном режиме оформления, выравниванием кнопок в инструменте Transform и показом неприменимых операций заливки слоёв.
  • В режиме недеструктивного редактирования налажено копирование и вставка слоёв и изображений с прикреплёнными фильтрами.
  • Обеспечено корректное масштабирование пиктограмм в заголовках диалогов при изменении размера пиктограмм в настройках.
  • Продолжена работа по задействованию в интерфейсе виджета Spin Scale.
  • Улучшено определение каталога с настройками и плагинами при поставке в формате flatpak.
  • Из ветки 3.2 перенесены изменения API для плагинов, касающиеся функций gimp_cairo_surface_get_buffer(), gimp_config_set_xcf_version() и gimp_config_get_xcf_version().
  • Улучшена поддержка macOS, среди прочего решены проблемы с выставлением фокуса при выводе диалогов и налажено открытие файлов EPS и PS.
  • Обновлена версия цветового движка babl 0.1.120.
  • Устранено 8 уязвимостей. Три уязвиости приводят к переполнению буфера или целочисленному переполнению при разборе изображений в форматах PSP, LBM и PNM. Потенциально данные уязвимости могут быть эксплуатированы для выполнения кода при открытии в GIMP специально оформленных файлов. Информация о 5 уязвимостях (1, 2, 3, 4, 5) пока не раскрыта.

  1. Главная ссылка к новости
  2. OpenNews: Второй кандидат в релизы графического редактора GIMP 3.2
  3. OpenNews: Первый кандидат в релизы графического редактора GIMP 3.2
  4. OpenNews: Обновление графического редактора GIMP 3.0.6
  5. OpenNews: Релиз графического редактора GIMP 3.0.0
Обсуждение (102 +18) | Тип: Программы |


·24.01 Выпуск стандартных Си-библиотек Glibc 2.43 и newlib 4.6.0 (127 +18)
  После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library 2.43 (glibc), которая полностью следует требованиям стандартов ISO C23 и POSIX.1-2024. В создании нового выпуска приняли участие 69 разработчиков.

Из реализованных в Glibc 2.43 улучшений можно отметить:

  • Добавлена экспериментальная возможность сборки компилятором Clang, которая пока доступна только для платформ aarch64-linux-gnu и x86_64-linux-gnu при использовании runtime, совместимого с libgcc. Для сборки Glibc требуется как минимум версия Clang 18.
  • Для систем Linux добавлена функция mseal(), позволяющая процессам выставлять блокировку на изменение определённых частей своего адресного пространства.
  • Для систем Linux добавлена функция openat2(), в отличие от функции openat() поддерживающая набор дополнительных флагов для ограничения разрешения файлового пути (запрет пересечения точек монтирования, символических ссылок, magic-ссылок (/proc/PID/fd), компонентов "../").
  • Добавлены функции free_sized, free_aligned_sized, memset_explicit и memalignment, появившиеся в стандарте C23.
  • В соответствии со стандартом C23 вызов assert определён как макрос с переменным числом аргументов, поддерживающий выражения с запятой внутри инициализатора.
  • В соответствии со стандартом C23 функции bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr и wmemchr, возвращающие указатели на входные массивы, переопределены как макросы, возвращающие указатель на тип с квалификатором "const", если входной аргумент является указателем на тип с квалификатором "const".
  • В заголовочный файл math.h добавлены определения типов long_double_t, _Float32_t, _Float64_t и _Float128_t, появившихся в стандарте C23.
  • Добавлены опциональные режимы исчисления времени TIME_MONOTONIC (постоянно увеличивающееся время, не зависящее от изменения системных часов), TIME_ACTIVE и TIME_THREAD_ACTIVE (время активного выполнения процесса или потока) для использования в функции timespec_get.
  • Из проекта CORE-MATH перенесены оптимизированные варианты математических функций acosh, asinh, atanh, erf, erfc, lgamma и tgamma.
  • Добавлены оптимизированные реализации функций fma, fmaf, remainder, remaindef, frexpf, frexp, frexpl (binary128) и frexpl (intel96).
  • Повышена производительность математических функций acosf, acoshf, asinhf, atan2f, atanhf, coshf, fmodf, lgammaf/lgammaf_r, log10f, remainderf, sinhf, sqrtf, tgammaf, y0/j0, y1/j1 и yn/jn, благодаря удалению кода обработки ошибок SVID (вызов пользовательской функции matherr при ошибке) для новых сборок (для сохранения совместимости с уже собранными программами они оставлены в режиме compat).
  • На системах x86 добавлена поддержка процессоров Intel Nova Lake и Wildcat Lake.
  • На системах AArch64 в функции malloc по умолчанию включена поддержка больших страниц памяти (transparent huge pages) размером 2MB (параметр ibc.malloc.hugetlb теперь выставлен в 1). В функции clone() реализовано отключение состояния ZA (Z-Array) на CPU с поддержкой расширения SME (Scalable Matrix Extension).
  • Для систем AArch64, поддерживающих расширение BTI (Branch Target Identification), добавлена настройка glibc.cpu.aarch64_bti, позволяющая принудительно активировать BTI для всех исполняемых файлов и библиотек. BTI обеспечивает блокирование переходов на произвольные участки кода для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования.
  • На системах AArch64, поддерживающих одно из расширений для защиты ветвления (Branch Target Identification или Guarded Control Stack), разрешено использование переменной окружения "LD_DEBUG=security" для вывода компоновщиком предупреждений при загрузке исполняемых файлов и библиотек, не поддерживающих данные расширения.
  • Для систем AArch64 добавлены векторные варианты функций exp2m1, exp10m1, log10p1, log2p1 и rsqrt.
  • Для архитектуры RISC-V добавлена оптимизированная реализация функции memset, использующая расширение RVV (RISC-V Vector).
  • В тестовом наборе значительно расширена проверка многопоточности и функций scanf, strerror и strsignal.
  • Данные кодировок, информация о типах символов и таблицы транслитерации обновлены для поддержки спецификации Unicode 17.0.0.
  • В реализации функциональности LD_PROFILE прекращено использование каталога по умолчанию (/var/tmp) для записи данных профилирования. Для сохранения подобных данных теперь требуется явное определение для них каталога через переменную окружения LD_PROFILE_OUTPUT.
  • Устранены уязвимости:



Кроме того, после года разработки проект Cygwin опубликовал выпуск стандартной Си-библиотеки newlib 4.6.0, развиваемой инженерами из компании Red Hat. Библиотека нацелена на предоставление компактной реализации стандартной Си-библиотеки (libc), пригодной для использования на встраиваемых системах c небольшим объёмом постоянного хранилища и оперативной памяти. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.

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

  • Расширена поддержка спецификации POSIX.1-2024.
  • Повышена производительность функций memcpy, mempcpy и memmove.
  • Добавлена опция "--enable-newlib-hw-misaligned-access".
  • Проведена оптимизация архитектуры RISC-V функций серии mem* и str*.
  • Переработан код обработки локалей, который избавлен от глобальной переменной global_locale_string в пользу отдельных переменных locale_string для каждого объекта локали с типом locale_t.
  • Добавлена поддержка новой платформы m68k-atari-elf.
  • Из FreeBSD-библиотеки gdtoa перенесён код strtorQ.c, который задействован для реализации поддержки 128-разрядного типа "long double" в функции strtold.
  • Данные кодировок обновлены до Unicode 17.0.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск системной библиотеки Glibc 2.42 и набора утилит GNU Binutils 2.45
  3. OpenNews: Уязвимость в Glibc, затрагивающая статически собранные suid-файлы с dlopen
  4. OpenNews: Выпуск стандартной Си-библиотеки PicoLibc 1.8.9
  5. OpenNews: Выпуск стандартной Си-библиотеки Musl 1.2.5
  6. OpenNews: Опубликована стандартная Си-библиотека newlib 4.5.0
Обсуждение (127 +18) | Тип: Программы |


·24.01 В инфраструктуре OSS Fuzz реализована поддержка проектов на языке Lua (9 +14)
  В инфраструктуру для непрерывного фаззинг-тестирования OSS-Fuzz добавлена возможность тестирования проектов, написанных на языке Lua, в дополнение к ранее поддерживаемым языкам C/C++, Go, Swift, Rust, Python, JavaScript и Java. Интеграция реализована с помощью проекта luzer, развивающего специализированный инструментарий для фаззинг-тестирования кода на языке Lua и расширений для Lua, написанных на C/C++.

Проект использует библиотеку libFuzzer и может применяться совместно с инструментами AddressSanitizer, MemorySanitizer, LeakSanitizer, ThreadSanitizer и Undefined Behavior Sanitizer, позволяющих на основе выявленных в процессе фаззинг-тестирования проблем, определять наличие типовых уязвимостей, вызванных переполнениями буфера, целочисленными переполнениями, обращением к неинициализированным и освобождённым областям, утечками памяти, разыменованием указателей и проблемами с установкой блокировок. Код проекта доступен под лицензией ISC.

В процессе работы luzer перебирает возможные комбинации входных данных и генерирует отчёт о всех выявленных сбоях и неперехваченных исключениях. Например, при проверке в luzer библиотеки разбора формата MsgPack antirez/lua-cmsgpack было выявлено, что данные с большим количеством массивов могут привести к переполнению стека.

В рамках проекта lunapark инструментарий luzer применяется для тестирования PUC Rio Lua, трассирующего компилятора LuaJIT, высокопроизводительной СУБД и сервера приложений Tarantool, а также для тестирования сторонних Lua-модулей.

Разработчики открытых проектов могут добавить свои репозитории для тестирования, подготовив шаблон фаззинг-тестирования и отправив специальную заявку через pull-запрос. При обнаружении ошибок, разработчикам автоматически отправляется уведомление и создаётся приватная заявка на исправление (чтобы исключить преждевременной утечки сведений об уязвимостях, тикет создаётся в системе отслеживания ошибок с ограниченным доступом). OSS Fuzz отслеживает состояние исправления ошибки и сам закрывает тикет, если он перестал воспроизводиться. Информация о проблеме становится публично доступной спустя 7 дней после исправления или спустя 90 дней с момента выявления ошибки, если проблема остаётся не исправленной.

  1. Главная ссылка к новости
  2. OpenNews: Google представил OSS-Fuzz, сервис для анализа безопасности открытого ПО
  3. OpenNews: Google открыл код ClusterFuzz, платформы для выявления ошибок и уязвимостей
  4. OpenNews: Представлен инструментарий Cascade, позволивший выявить 29 уязвимостей в процессорах RISC-V
  5. OpenNews: Оценка эффективности применения MiraclePtr для предотвращения уязвимостей в Chrome
  6. OpenNews: Методы безопасной работы с памятью позволили существенно снизить число уязвимостей в Android
Обсуждение (9 +14) | Автор: sergeyb | Тип: К сведению |


·24.01 Доступен пакетный менеджер GNU Guix 1.5 и дистрибутив на его основе (118 +15)
  После более трёх лет разработки состоялся релиз пакетного менеджера GNU Guix 1.5 и построенного на его основе дистрибутива GNU/Linux - Guix System. В дальнейшем новые релизы GNU Guix решено выпускать раз в год. Для загрузки сформированы образы для установки на USB Flash (972 МБ) и использования в системах виртуализации (1.4 ГБ). Поддерживается работа на архитектурах i686, x86_64, Power9, armv7, riscv64 и aarch64.

Дистрибутив допускает установку как в качестве обособленной ОС в системах виртуализации, в контейнерах и на обычном оборудовании, так и запуск в уже установленных дистрибутивах GNU/Linux, выступая в роли платформы для развёртывания приложений. Пользователю предоставляются такие функции, как учёт зависимостей, воспроизводимая сборка, работа без root, откат на прошлые версии в случае проблем, управление конфигурацией и клонирование окружений (создание точной копии программного окружения на других компьютерах).

Основные новшества:

  • Добавлена экспериментальная поддержка ядра GNU Hurd (x86_64-gnu). В инсталлятор добавлена опция для использования Hurd вместо ядра Linux.
  • Добавлена поддержка архитектуры RISC-V (riscv64-linux).
  • Сеанс GNOME обновлён до выпуска GNOME 46 (в прошлом релизе поставлялся GNOME 42) и переведён на использование по умолчанию Wayland. Расширена модульность сервиса gnome-desktop-service-type, в котором теперь можно настраивать список устанавливаемых по умолчанию приложений GNOME.
  • Добавлен новый тип сервисов plasma-desktop-service-type для формирования окружения со средой рабочего стола KDE Plasma 6.5.
  • Предоставлена возможность запуска фонового процесса Guix без привилегий root. При установке в дистрибутивах, отличных Guix System, по умолчанию задействован режим работы без прав root (rootless). В существующих установках данный режим можно активировать выставлением "(privileged? #f)" в guix-configuration. Режим реализован с использованием пространства имён идентификаторов пользователей (user namespace) и профилей AppArmor.
  • В команду "guix graph" добавлены бэкенды для GraphML и CycloneDX JSON, что позволяет использовать её для генерации полноценных SBOM (Software Bill of Material).
  • В команду "guix shell" добавлены опции "--nesting" для использования Guix в контейнере и "--emulate-fhs" для запуска приложений с использованием структуры файловой системы, соответствующей спецификации FHS (Filesystem Hierarchy Standard).
  • В команду "guix pack" добавлены бэкенды для создания пакетов в форматах RPM и AppImages, которые можно использовать в других дистрибутивах без Guix.
  • Реализована команда "guix locate" для поиска пакетов, в которых присутствует указанный файл.
  • Задействован новый выпуск системы инициализации GNU Shepherd 1.0, в котором появилась поддержка сервисов, периодически запускающих команды или код на языке Scheme по указанному расписанию. Добавлена возможность перезапуска ядра Linux с использованием механизма kexec. Реализованы новые сервисы log-rotation (ротация и удаление устаревших логов), system-log (замена syslogd), timer (запуск команд в указанное время) и transient (запуска команд в фоне). В Guix сервисы system-log и log-rotation задействованы вместо syslogd и Rottlog.
  • Реализована полная поддержка раскрутки (bootstrap) компиляторов Zig и Mono из исходного кода.
  • Набор "setuid-programs" заменён на "privileged-programs" в спецификации "operating-system" (вместо suid-флага для получения привилегий задействованы Linux capabilities).
  • Добавлено около 40 новых системных сервисов, среди которых Forgejo Runner, RabbitMQ, iwd и dhcpcd.
  • Обновлены версии программ в 8911 пакетах, добавлено 12525 новых пакетов. Среди прочего обновлены версии GNOME 46.10, KDE Plasma 6.5, linux-libre 6.17.12, MATE 1.28.2, Xfce 4.20.0, lxde 0.99.3, xorg-server 21.1.21, GCC 15.2.0, LLVM 21.1.8, GIMP 3.0.4, glibc 2.41, go 1.25.3, Librewolf 140, icecat 140.6.0-gnu1 (firefox), icedtea 3.19.0, inkscape 1.3.2, julia 1.8.5, libreoffice 25.2.5.2, openjdk 25, perl 5.36.0, python 3.11.14, racket 8.18, rust 1.85.1, r 4.5.2, sbcl 2.5.8.

Напомним, что пакетный менеджер GNU Guix основан на наработках проекта Nix и кроме типичных функций управления пакетами поддерживает такие возможности, как выполнение транзакционных обновлений, возможность отката обновлений, работа без получения привилегий суперпользователя, поддержка привязанных к отдельным пользователям профилей, возможность одновременной установки нескольких версий одной программы, средства уборки мусора (выявление и удаление неиспользуемых версий пакетов). Для определения сценариев сборки приложений и правил формирования пакетов предлагается использовать специализированный высокоуровневый предметно-ориентированный язык и компоненты Guile Scheme API, позволяющие выполнять все операции по управлению пакетами на функциональном языке программирования Scheme.

Поддерживается возможность использования пакетов, подготовленных для пакетного менеджера Nix и размещённых в репозитории Nixpkgs. Кроме операций с пакетами возможно создание сценариев для управления конфигурацией приложений. При сборке пакета автоматически загружаются и собираются все связанные с ним зависимости. Возможна как загрузка готовых бинарных пакетов из репозитория, так и сборка из исходных текстов со всеми зависимостями. Реализованы средства для поддержания версий установленных программ в актуальном состоянии через организацию установки обновлений из внешнего репозитория.

Сборочное окружение для пакетов формируется в виде контейнера, содержащего все необходимые для работы приложений компоненты, что позволяет сформировать набор пакетов, способный работать без оглядки на состав базового системного окружения дистрибутива, в котором Guix используется в качестве надстройки. Между пакетами Guix возможно определение зависимостей, при этом для поиска наличия уже установленных зависимостей используется сканирование хэшей-идентификаторов в директории установленных пакетов. Пакеты устанавливаются в отдельное дерево директорий или поддиректорию в каталоге пользователя, что позволяет обеспечить его параллельное сосуществование с другими пакетными менеджерами и обеспечить поддержку различных дистрибутивов. Например, пакет устанавливается как /nix/store/452a4978f3b1b428064a2b64a0c6f41-firefox-147.0.1/, где "452a49..." является уникальным идентификатором пакета, используемым для контроля зависимостей.

Дистрибутив включает только свободные компоненты и поставляется с ядром GNU Linux-Libre, очищенным от несвободных элементов бинарных прошивок. Для сборки применяется GCC 15.2. В качестве системы инициализации используется сервисный менеджер GNU Shepherd (бывший dmd), развиваемый как альтернатива SysV-init с поддержкой зависимостей. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется и для определения параметров запуска сервисов. Базовый образ поддерживает работу в консольном режиме, но для установки подготовлено 29932 готовых пакетов, среди которых и компоненты графического стека, оконные и композитные менеджеры, рабочие столы GNOME, KDE и Xfce, а также подборка графических приложений.

  1. Главная ссылка к новости
  2. OpenNews: Доступен дистрибутив NixOS 25.11, использующий пакетный менеджер Nix
  3. OpenNews: Уязвимости в пакетных менеджерах Nix, Lix и Guix
  4. OpenNews: Проект Guix переходит на Git-хостинг Codeberg
  5. OpenNews: Опубликован системный менеджер GNU Shepherd 1.0.0
  6. OpenNews: Доступен пакетный менеджер GNU Guix 1.4 и дистрибутив на его основе
Обсуждение (118 +15) | Тип: Программы |


·24.01 Выпуск Wine 11.1. В Wine Staging добавлена поддержка установщика Adobe Photoshop 2025 (87 +21)
  Состоялся экспериментальный выпуск открытой реализации Win32 API - Wine 11.1. С момента выпуска 11.0 было закрыто 22 отчёта об ошибках и внесено 209 изменений.

Напомним, что начиная с ветки 2.x проект Wine перешёл на схему нумерации версий, в которой каждый стабильный релиз приводит к увеличению первой цифры в номере версии (10.0.0, 11.0.0), а обновления к стабильным релизам выпускаются с изменением третьей цифры (11.0.1, 11.0.2, 11.0.3). Экспериментальные версии, публикуемые в процессе подготовки следующего значительного релиза, выпускаются с изменением второй цифры (11.1, 11.2, 11.3). Через год на основе экспериментальных выпусков Wine 11.x будет сформирован стабильный релиз 12.0.0.

Наиболее важные изменения:

  • В наборе библиотек WindowsCodecs расширена поддержка пиксельных форматов. Обеспечено преобразование индексированных форматов с 8-битами на канал в представление с 24 битами на канал, а также преобразование между форматами 32bpp RGBA и 64bpp RGBA.
  • В библиотеке MSADO (ActiveX Data Objects) повышена производительность поиска столбцов в БД. Реализованы функции _Connection:{get,put}_ConnectionTimeout, WrapDSOandSession, IRowset, IRowsetExactScroll:GetExactPosition, _Recordset::Seek.
  • В winewayland налажена поддержка механизма VRR (Variable Refresh Rate), позволяющего адаптивно менять частоту обновления монитора для обеспечения плавности и отсутствия разрывов во время игр и показа видео. Решены проблемы с отображением пиктограмм в окружениях на базе Wayland.
  • В сервис netprofm, отвечающий за обнаружение, сохранение и управление сетевыми подключениями, добавлена поддержка IPv6.
  • В ncrypt добавлена поддержка алгоритма ECDSA_P256.
  • Закрыты отчёты об ошибках, связанные с работой приложений: SureThing CD Labeler, Personal Ancestral File 5 (PAF 5), Mathearbeit G 5.6, PDFsam, Microsoft Edge, Camerabag Pro 2025.2, iTunes 12.9.3, Ubisoft Connect, FastStone Image Viewer.
  • Закрыты отчёты об ошибках, связанные с работой игр: Project Cars 2, SnowRunner, Sacred Gold 2.28 ASE, GOG GALAXY, Genshin Impact.

Кроме того, сформирован выпуск проекта Wine Staging 11.1, предоставляющего расширенные сборки Wine 11.1, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. Новая версия примечательная интеграцией набора изменений, реализующих функциональность библиотек mshtml и msxml3, необходимую для запуска инсталлятора пакетов Adobe Photoshop 2021-2025, Adobe Premiere Pro 2025 и других продуктов Adobe Creative Cloud. Отдельно подготовлены готовые сборки варианта Wine, собранного с предложенными патчами. После установки в целом Adobe Photoshop работает, но отмечаются отдельные проблемы, такие как невозможность перетаскивать элементы в режиме Drag&Drop в окружениях на базе Wayland.

  1. Главная ссылка к новости
  2. OpenNews: Стабильный релиз Wine 11.0
  3. OpenNews: Выпуск PhotoGIMP 2020, модификации GIMP, стилизованной под Photoshop
  4. OpenNews: Выпуск DXVK-Sarek 1.11.0, реализации Direct3D 8/9/10/11 для GPU без поддержки Vulkan 1.3
  5. OpenNews: Выпуск DXVK 2.7, реализации Direct3D 8/9/10/11 поверх API Vulkan
  6. OpenNews: Стабильный релиз Proton 10.0, пакета для запуска Windows-игр в Linux
Обсуждение (87 +21) | Тип: Программы |


·23.01 Проект Singularity развивает открытый руткит, обходящий SELinux, Netfilter, LKRG и eBPF (89 +32)
  Матеус Алвес (Matheus Alves), исследователь безопасности, специализирующийся на вредоносном ПО, опубликовал обновление проекта Singularity, развивающего открытый руткит для ядра Linux, распространяемый под лицензией MIT. Целью проекта является демонстрация методов, позволяющих скрыть своё присутствие после получения root-доступа и сохранить возможность скрытого выполнения привилегированных операций. Предполагается, что Singularity может быть полезен исследователям безопасности для тестирования и разработки утилит обнаружения и блокирования руткитов.

Руткит оформлен в виде модуля для ядер Linux 6.x и использует механизм ftrace для незаметного перехвата системных вызовов без изменения точек входа в системные вызовы и без модификации функций ядра. Singularity поддерживает скрытие своего присутствия в системе, а также скрытие заданных атакующим процессов и связанных с ними файлов и сетевой активности. Для удобства исследователей функциональность руткита разделена на модули.

Помимо типовых методов маскировки присутствия в системе, таких как скрытие необходимых процессов, файлов, каталогов и модулей ядра, в Singularity реализовано несколько продвинутых методов обхода механизмов защиты и затруднения обнаружения специализированными сканерами руткитов, такими как Falco, ghostscan, tracee, unhide, chkrootkit и rkhunter. Среди прочего, Singularity может скрывать свою активность от инструментов, использующих eBPF, удалять блокировки eBPF, препятствовать загрузке модулей ядра, противостоять анализу ввода/вывода через подсистему io_uring, а также обходить проверки целостности, осуществляемые модулем LKRG (Linux Kernel Runtime Guard).

В Singularity присутствует reverse shell, предоставляющий привилегированный удалённый доступ к системе через отправку ICMP-пакетов, а также обработчики, дающие возможность добиться скрытия процессов или повышения привилегий в системе через определённые манипуляции с сигналами и переменными окружения. Например, для скрытия процесса из /proc и вывода утилит, таких как ps, можно выполнить "kill -59 PID_процесса, а для повышения привилегий выставить переменную окружения "MAGIC=mtz".

Руткит скрывает трафик reverse shell от сетевых анализаторов и позволяет обходить обработчики SELinux, срабатывающие на ICMP. Singularity также включает возможности для скрытия определённых сетевых соединений из таблиц /proc/net/nf_conntrack, netlink-обработчиков SOCK_DIAG/NETFILTER и утилит, подобных netstat, ss, lsof, tcpdump и wireshark. Доступны обработчики для чистки сообщений аудита и вывода в логи (klogctl, syslog, systemd-journal, /sys/kernel/debug/tracing/, dmesg). Имеются фильтры для противостояния анализаторам памяти, таким как Volatility, использующим /proc/kcore, /proc/kallsyms и /proc/vmallocinfo, а также возможности фильтрации прямого обращения к блочным устройствам для предотвращения низкоуровневого анализа содержимого ФС.

  1. Главная ссылка к новости
  2. OpenNews: Выявлен новый rootkit для Linux, подменяющий функции libc
  3. OpenNews: Новый rootkit для Linux, осуществляющий подстановку вредоносного кода в HTTP-трафик
  4. OpenNews: Выявлен UEFI-буткит Bootkitty, подставляющий вредоносный код в загружаемое ядро Linux
  5. OpenNews: Прототип руткита для Linux, использующий io_uring для обхода анализаторов системных вызовов
  6. OpenNews: Прототип руткита для Linux, использующий io_uring для обхода анализаторов системных вызовов
Обсуждение (89 +32) | Тип: Проблемы безопасности |


·23.01 На соревновании Pwn2Own Automotive 2026 продемонстрировано 76 уязвимостей автомобильных систем (117 +11)
  Подведены итоги трёх дней соревнований Pwn2Own Automotive 2026, проведённых на конференции Automotive World в Токио. На соревнованиях были продемонстрированы 76 ранее неизвестных уязвимостей (0-day) в автомобильных информационно-развлекательных платформах, операционных системах и устройствах зарядки электромобилей. При проведении атак использовались самые свежие прошивки и операционные системы со всеми доступными обновлениями и в конфигурации по умолчанию.

Суммарный размер выплаченных вознаграждений составил 1 миллион 47 тысяч долларов США. Наиболее успешная команда Fuzzware.io сумела заработать на соревнованиях 213 тысячи долларов США. Обладатели второго места (Team DDOS) получили 95 тысяч долларов, а третьего (Synacktiv) - 85 тысяч долларов.

В ходе соревнований продемонстрированы следующие атаки:

  • Взлом окружения на базе дистрибутива Automotive Grade Linux ($4000 за эксплуатацию цепочки из трёх уязвимостей, связанных с чтением из области вне буфера, исчерпанием свободной памяти и переполнением буфера).
  • 12 взломов информационно-развлекательной системы на базе платформы Alpine iLX-511 ($20000, 2 по $10000 и $5000 за эксплуатацию уязвимостей, приводящих к переполнению буфера; $10000, 2 по $5000 и 4 по $2500 за уязвимость, позволяющую получить доступ к опасному методу; $10000 за уязвимость, приводящую к подстановке команд).
  • 12 взломов информационно-развлекательной системы Kenwood DNR1007XR ($20000 и $10000 за уязвимости, вызванные переполнением буфера; $8000 за эксплоит, использующий ранее известную, но не устранённую проблему с жёстко прописанными учётными данными, в сочетании с некорректными правами доступа к важному ресурсу и уязвимостью, приводящую к подстановке команд; $4000 за эксплоит, использующий ранее известные, но не устранённые проблемы с состоянием гонки и некорректными правами доступа; $8000 и 3 по $2500 за эксплуатацию уже известной уязвимости, оставшейся неисправленной; $8000 за эксплуатацию цепочки из 3 уязимостей - жёстко прописанные учётными данными, некорректно выставленные права доступа и отсутствие проверки символической ссылки; $6000, $5000 и $4000 за уязвимости, приводящие к подстановке команд).
  • 4 взлома информационно-развлекательной системы Sony XAV-9500ES ($20000 за эксплоит, использующий цепочку из трёх ошибок; 3 по $10000 за эксплуатацию выхода за границу буфера).
  • Взлом информационно-развлекательной системы автомобиля Tesla при подключении через USB-порт ($35000 за эксплоит, использующий утечку информации и переполнение буфера).


  • 10 взломов зарядной станции Grizzl-E Smart 40A ($40000 за выявление жёстко прописанных в прошивке учётных данных и отсутствие проверки целостности загружаемого кода; $25000 и $10000 за уязвимость, приводящую к обходу аутентификации; $10000 за уязвимость, приводящую к переполнению буфера; $22500, $20000, 3 по $15000 и $5000 за эксплоиты, использующие цепочки из 3 или 2 ошибок).
  • 7 взломов зарядной станции Phoenix Contact CHARX SEC-3150 ($50000 за эксплоит, использующий подстановку команд и состояние гонки; $50000, $20000 $19250 и $6750 за эксплоиты, использующие цепочки из 3, 5 и 6 ошибок; $20000 за эксплуатацию уязвимостей, позволивших обойти аутентификацию и повысить свои привилегии; $15000 за эксплоит, использующий цепочку из 3 ошибок).
  • 4 взлома зарядной станции Autel MaxiCharger AC Elite Home 40A ($50000, $20000 и $10000 за уязвимости, позволившие обойти аутентификацию и проверку цифровой подписи; $30000 за уязвимость, приводящую к переполнению буфера).
  • 4 взлома зарядной станции ChargePoint Home Flex CPH50-K ($40000, 2 по $30000 и $16750 за уязвимости, допускающие подстановку команд, и отсутствие должной обработки символических ссылок).
  • 4 взлома зарядной станции Alpitronic HYC50 ($60000 за эксплуатацию уязвимости, приводящей к переполнению буфера; $40000 за уязвимость, позволяющую получить доступ к опасному методу; $20000 за уязвимость, вызванную состоянием гонки; $20000)

Кроме вышеотмеченных успешных атак, 9 попыток эксплуатации уязвимостей завершились неудачей, во всех случаях из-за того, что команды не успели уложиться в отведённое для атаки ограниченное время. Неудачными оказались попытки взлома устройств Kenwood DNR1007XR, Alpine iLX-F511, Autel MaxiCharger AC Elite Home 40A, EMPORIA Pro Charger Level 2, ChargePoint Home Flex, Sony XAV-9500ES и Grizzl-E Smart 40A.

В соответствии с условиями конкурса детальная информация о всех продемонстрированных 0-day уязвимостях будет опубликована только через 90 дней, которые даются на подготовку производителями обновлений с устранением уязвимостей.

  1. Главная ссылка к новости
  2. OpenNews: На соревновании Pwn2Own продемонстрированы взломы смартфонов, NAS, принтеров и устройств умного дома
  3. OpenNews: На соревновании Pwn2Own в Берлине продемонстрированы взломы RHEL, Firefox, Redis и VirtualBox
  4. OpenNews: На соревновании Pwn2Own Automotive 2025 представлено 49 уязвимостей автомобильных систем
  5. OpenNews: На соревнованиях Pwn2Own продемонстрированы взломы NAS, принтеров, умных колонок и IP-камер
  6. OpenNews: На соревновании Pwn2Own 2024 продемонстрированы взломы Ubuntu, Firefox, Chrome, Docker и VirtualBox
Обсуждение (117 +11) | Тип: Проблемы безопасности |


·22.01 Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0 (141 +5)
  Опубликован релиз языка программирования Rust 1.93, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

Основные новшества:

  • Встроенная в поставку Rust стандартная си-библиотека Musl, используемая при статической компоновке для целевых платформ "*-linux-musl" (aarch64-unknown-linux-musl, x86_64-unknown-linux-musl, powerpc64le-unknown-linux-musl и т.п.) на системах без Musl, обновлена до версии 1.2.5. Минимально поддерживаемая версия Musl при динамической компоновке также поднята до выпуска 1.2.5. Ранее в Rust использовалась версия Musl 1.2.3, в которой имелись проблемы в реализации DNS-резолвера. В версии Musl 1.2.4 в DNS-резолвер была добавлена возможность отправки запроса по TCP в случае неудачного обращения по UDP, что решило проблему с запросом больших DNS-записей и наладило совместимость с рекурсивными DNS-серверами, не поддерживающими отдачу части результата в обрезанных UDP-ответах. В версии Musl 1.2.5 в DNS-резолвере реализована обработка ответов с длинными последовательностями CNAME и решена проблема, из-за которой отбрасывались некоторые большие ответы, передаваемые через TCP.
  • Стандартная библиотека переработана для решения проблем с реентерабельностью при использовании в глобальных аллокаторах памяти, написанных на Rust, макроса std::thread_local! и функции std::thread::current, приводивших к бесконечной рекурсии. Для исключения ситуации, когда std::thread_local! и std::thread::current при попытке выделения памяти вызывали тот же аллокатор в котором используются, в них теперь напрямую применяется системный механизм выделения памяти.
  • Внутри блоков "asm!" с ассемблерным кодом разрешено использование атрибутов "cfg", что, например, позволяет управлять задействованием расширенных наборов команд CPU в контексте отдельных выражений внутри asm-блока (ранее атрибуты "cfg" могли задаваться только для asm-блока целиком).
    
       asm!( // или global_asm! или naked_asm!
           "nop",
           #[cfg(target_feature = "sse2")]
           "nop",
           // ...
           #[cfg(target_feature = "sse2")]
           a = const 123, // only used on sse2
       );
    
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Целевая платформа "riscv64a23-unknown-linux-gnu" переведена на второй уровень поддержки, который подразумевает гарантию сборки, но отсутствие гарантий при прохождении тестового набора.



Дополнительно можно отметить несколько связанных с Rust проектов:

  • Для ядра Linux развивается фреймворк Rex, позволяющий создавать дополнения для ядра Linux на языке Rust, которые можно использовать для расширения функциональности ядра вместо eBPF. Rex предоставляет те же гарантии безопасности, что и eBPF, но использует для изоляции и обеспечения безопасности возможности языка Rust и легковесный Runtime. Для подобных программ не применяется верификатор, а программы компилируются в нативный код компилятором Rust.

    В Rex-программах допускается использование подмножества языка Rust, предоставляющего гарантии безопасности. В текущем виде поддерживается 5 типов программ eBPF: kprobe, perf_event, tracepoint, xdp и tc. Имеется возможность вызывать вспомогательные функции eBPF, взаимодействовать с map-структурами eBPF, управлять ресурсами ядра, обрабатывать исключения и использовать обвязки и абстракции над структурами ядра.

  • Доступен выпуск Fjall 3, написанного на Rust встраиваемого хранилища, работающего с данными в формате ключ-значение. Хранение данных производится в форме лога c использованием LSM-дерева (Log-Structured-Merge), как в RocksDB, при котором изменения записываются через добавление данных в конец файла. Для обращения к БД предлагается API в стиле BTreeMap. Поддерживаются такие возможности, как пространства имён, прямой и обратный поиск по диапазонам, встроенное сжатие, сериализируемые транзакции, раздельное хранение ключей и связанных с ними очень больших значений, автоматическое фоновое обслуживание БД. Код открыт под лицензией Apache 2.0.
  • Проект Tor опубликовал выпуск Arti 1.9.0, реализации инструментария Tor, написанной на языке Rust. Когда код Arti достигнет уровня, способного полностью заменить вариант на Си, разработчики Tor намерены придать Arti статус основной реализации Tor и постепенно прекратить сопровождение реализации на Си. В новой версии продолжена реализация функциональности для релеев и серверов директорий (Directory Authority), улучшена поддержка работы с динамически назначаемыми портами (proxy.socks_listen = "auto"), добавлен экспериментальный API для управления ключами для onion-сервисов.

  1. Главная ссылка к новости
  2. OpenNews: Проект Microsoft по использованию AI для перевода кодовой базы с C/C++ на Rust
  3. OpenNews: Уязвимость в Binder, подсистеме ядра Linux, написанной на Rust
  4. OpenNews: Выпуск uutils 0.5, варианта GNU Coreutils на языке Rust
  5. OpenNews: Выпуск Rust 1.92. Rust-проекты для GUI, sandbox-изоляции и создания прошивок
  6. OpenNews: Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux
Обсуждение (141 +5) | Тип: Программы |


·22.01 Представлена плата Arduino UNO Q с 4ГБ ОЗУ и 32ГБ eMMC (145 +9)
  Проект Arduino, который в прошлом году поглотила компания Qualcomm, объявил о доступности нового варианта платы UNO Q, поставляемого с 4ГБ ОЗУ и eMMC-накопителем, размером 32ГБ. Стоимость UNO Q с 4ГБ ОЗУ и 32ГБ eMMC составляет 59 долларов. Для сравнения вариант с 2 ГБ ОЗУ и 16ГБ eMMC продаётся за 44 доллара.

Новая комплектация позволяет подключить к устройству клавиатуру, мышь и монитор, и использовать плату в качестве персонального компьютера с графическим окружением на базе типовых дистрибутивов Linux. Наличие аппаратного AI-ускорителя и DSP также даёт возможность применять плату для решения более серьёзных задач машинного обучения, компьютерного зрения, робототехники и обработки звука, чем те, которые можно было задействовать на плате с 2 ГБ ОЗУ. В качестве дистрибутива рекомендуется использовать Debian GNU/Linux.

Оба варианта платы поставляются с процессором Qualcomm Dragonwing QRB2210 и микроконтроллером STM32U585. Процессор QRB2210 имеет 4 ядра Cortex-A53 (2.0 GHz), оснащён GPU Adreno 702 (с поддержкой OpenGL ES 3.1, Vulkan 1.1 и OpenCL 2.0 и аппаратными декодировщиками H.264, H.265 и VP9) и двухядерным DSP c функциями ускорителя выполнения AI-моделей и обработки звука. Микроконтроллер STM32U585 включает ядро Arm Cortex-M33 160 MHz с поддержкой технологии TrustZone, DSP и FPU, и может использоваться для управления дополнительным оборудованием в режиме реального времени. Плата оснащена USB-C, Wi-Fi 2.4/5 GHz, Bluetooth 5.1. Форм-фактор платы, коннекторы и поддержка периферийных устройств аналогичны модели Arduino Uno.

  1. Главная ссылка к новости
  2. OpenNews: Qualcomm поглощает Arduino. Представлены плата Arduino UNO Q и среда разработки Arduino App Lab
  3. OpenNews: Новая версия среды разработки Arduino IDE 2.3
  4. OpenNews: Intel прекращает выпуск модуля Curie и плат Arduino 101
  5. OpenNews: Сообщества Arduino.org и Arduino.cc объявили о воссоединении после раскола
  6. OpenNews: Intel опубликовал исходные тексты прошивки платы Arduino 101
Обсуждение (145 +9) | Тип: К сведению |


Следующая страница (раньше) >>



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

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