The OpenNET Project / Index page

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

·25.04.2026 В законопроект о верификации возраста CO SB51 добавлено исключение для открытых проектов (57 +24)
  Карл Ричелл (Carl Richell), основатель и руководитель компании System76, разрабатывающей дистрибутив Pop!_OS и среду рабочего стола COSMIC, добился внесения поправок в продвигаемый в штате Колорадо законопроект CO SB51 (Colorado Senate Bill 51), определяющий требования по верификации возраста в операционных системах. В текст законопроекта добавлено исключение, выводящее из области действия будущего закона дистрибутивы и приложения, поставляемые под открытыми лицензиями.

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

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

В соответствии с требованиями закона, загруженные и запущенные приложения должны иметь возможность получать от операционной системы информацию о возрасте в 4 градациях: младше 13 лет, от 13 до 16 лет, от 16 до 18 лет, 18 лет и старше. Разработчик приложения должен использовать полученную информацию о возрасте для соблюдения законодательства о защите детей в интернете. За невыполнение требований предусмотрены штрафы до $2500 за неумышленное и до $7500 за умышленное нарушение в отношении каждого пострадавшего ребёнка.

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

  1. OpenNews: В Калифорнии утверждён законопроект об интеграции в ОС API для проверки возраста
  2. OpenNews: Создан дистрибутив Ageless Linux для противодействия законам о проверке возраста
  3. OpenNews: Проект Arch Linux 32 заблокировал доступ из Бразилии из-за закона о верификации возраста
  4. OpenNews: Создан форк systemd без хранения возраста. GrapheneOS отказался верифицировать возраст
  5. OpenNews: Позиция по верификации возраста в Debian
Обсуждение (57 +24) | Тип: К сведению |
·25.04.2026 Выпуск языка программирования Nim 2.2.10 (33 +4)
  Представлен релиз языка системного программирования Nim 2.2.10. Nim – статически типизированный компилируемый язык программирования с синтаксисом, вдохновлённым Python, и возможностями метапрограммирования на уровне Lisp. Язык компилируется в C, C++ и JavaScript, обеспечивая производительность на уровне C при выразительности высокоуровневых языков. Код проекта поставляется под лицензией MIT.

Возможности Nim включают систему макросов, работающих на AST во время компиляции, поддержку обобщённого программирования с концептами, множественную диспетчеризацию (multiple dispatch), детерминированное управление памятью с поддержкой нескольких стратегий (ARC/ORC, refc, маркировка-и-подметание), встроенную поддержку async/await для асинхронного программирования и FFI для простой интеграции с C/C++/JavaScript. Nim позиционируется как системный язык, подходящий для разработки от встраиваемых систем до веб-серверов, с акцентом на эффективность, безопасность памяти и удобство разработки.

Изменения в языке и компиляторе:

  • Добавлен экспериментальный флаг "--experimental:typeBoundOps", реализующий RFC #380 и повышающий надёжность работы интерфейсов "hash", "$", "==" для именованных типов при непрямых импортах. Пример:
    
      import std/hashes
      type Obj* = object
         x*, y*: int
         z*: string
    
       proc `==`*(a, b: Obj): bool = a.x == b.x and a.y == b.y
       proc hash*(a: Obj): Hash = $!(hash(a.x) &! hash(a.y))
    
       # main.nim
       {.experimental: "typeBoundOps".}
       from objs import Obj
       import std/tables
    
       var t: Table[Obj, int]
       t[Obj(x: 3, y: 4, z: "debug")] = 34
       echo t[Obj(x: 3, y: 4, z: "ignored")]  # 34
    
  • Исправлена ошибка, при которой "sizeof(T)" внутри шаблона "typedesc", вызываемого из when-выражения дженерика, приводил к ошибке компиляции.

Основные изменения, влияющие на обратную совместимость:

  • По умолчанию активирован флаг "-d:nimPreviewFloatRoundtrip". Функции "system.addFloat" и оператор "$" теперь используют алгоритм Dragonbox для генерации минимальных строковых представлений чисел с плавающей точкой с гарантиями корректного округления и обратимости преобразования. Для возврата к старому поведению доступен флаг "-d:nimLegacySprintf".
  • Параметр "default" в функции "tables.getOrDefault" переименован в "def" во избежание конфликтов с "system.default". Код, использующий именованные аргументы "getOrDefault(..., default = ...)", требует обновления.
  • При включении флага "-d:nimPreviewCheckedClose" функция "close" в модуле "std/syncio" теперь генерирует исключение при ошибках ввода-вывода.
  • Неизвестные предупреждения и подсказки компилятора теперь генерируют предупреждение "warnUnknownNotes" вместо ошибок.
  • С флагом "-d:nimPreviewAsmSemSymbol" в операторах asm/emit добавлена проверка типов для символов в обратных кавычках.
  • Блок "except:" без указания типа теперь вызывает панику при перехвате "Defect". Для обработки рекомендуется использовать "except Exception:" или "except Defect:". Для миграции предусмотрен флаг "--legacy:noPanicOnExcept".
  • С флагом "-d:nimPreviewCStringComparisons" операторы сравнения ({, >, {=, >=) для "cstring" переключены с семантики ссылок на семантику значений, аналогично "==" и "!=".
  • Модуль std/parsesql вынесен в отдельный nimble-пакет; для установки требуется "nimble install parsesql" или использование менеджера atlas.
  • С флагом "-d:nimPreviewDuplicateModuleError" импорт двух модулей с одинаковым именем становится ошибкой компиляции. Для разрешения коллизий рекомендуется использовать алиасы: "import foo as foo1".
  • Добавлена опция "--mangle:nim|cpp" для выбора стиля манглинга имён при включённой отладочной информации (по умолчанию - cpp).
  • Второй параметр функций succ, pred, inc, dec в модуле system теперь принимает тип "SomeInteger" вместо "Ordinal".
  • Операторы битовых сдвигов (shl, shr, ashr) применяют битовую маску к правому операнду в бэкендах C/C++/VM/JS.
  • Добавлено предупреждение "--warning:ImplicitRangeConversion", обнаруживающее потенциально опасные неявные преобразования к диапазонам меньшего размера (например, int -> range[0..255]), способные вызвать панику времени выполнения.

Нововведения в стандартной библиотеке:

  • В модуль "setutils" добавлены функции "symmetricDifference", оператор "-+-" и инлайн-версия "toggle" для эффективного вычисления симметрической разности битовых множеств.
  • В "strutils.multiReplace" добавлена перегрузка для замены символов из набора за один проход - полезно для санитизации строк.
  • В модуль std/files добавлены процедуры с поддержкой типа Path: getFilePermissions, setFilePermissions, tryRemoveFile, copyFile (с настраиваемым буфером и обработкой ссылок), copyFileWithPermissions, copyFileToDir. Экспортированы типы CopyFlag и FilePermission для тонкого контроля операций с файлами.
  • Модуль std/dirs получил новые процедуры: copyDir и copyDirWithPermissions для рекурсивного копирования каталогов с сохранением атрибутов.
  • В бэкендах refc, JS и VM реализована поддержка функции "system.setLenUninit" для типа "string", позволяющей изменять длину строки без инициализации новой памяти при расширении.
  • В std/parseopt добавлена поддержка нескольких режимов парсинга аргументов командной строки через перечисление CliMode: Nim (по умолчанию), а также экспериментальные Lax и Gnu.
  • В std/math оператор "^" теперь поддерживает вещественные числа в качестве показателя степени.
  • Функции min, max и их аналоги из sequtils для openArray теперь принимают пользовательскую функцию сравнения.
  • Оптимизирована реализация system.substr: при наличии используется copymem (обёртка над C memcpy).
  • Функция system.newStringUninit помечена как свободная от побочных эффектов, что позволяет использовать её с флагом "--experimental:strictFuncs".

Инструменты и документация:

  • В генератор документации добавлен флаг "--raw" для отключения рендеринга разметки в JSON-выводе.
  • Добавлен флаг "--stdinfile" для задания имени файла при запуске кода из stdin (по умолчанию - stdinfile.nim).
  • Флаг "--styleCheck:warning" позволяет трактовать нарушения стилевых проверок как предупреждения, а не ошибки.
  • В руководство добавлена документация по прагме completeStruct.

Исправлено более 30 ошибок, в том числе:

  • Ошибки работы new с ref object и генерации кода для кортежей в массивах;
  • Проблемы с обработкой static-параметров и typedesc;
  • Регрессии в системах управления памятью ORC/refc, включая выравнивание объектов и избыточные вызовы nimZeroMem;
  • Ошибки парсинга в parseopt, parsecfg и генерации кода для бэкенда JavaScript;
  • Утечки и падения при использовании замыканий, итераторов и больших объектов.

  1. OpenNews: Выпуск языка программирования Nim 2.2.8
  2. OpenNews: В языке Nim представлен YRC - потокобезопасный сборщик циклических ссылок
  3. OpenNews: Представлены принципы дизайна компилятора Nimony для будущего Nim 3.0
  4. OpenNews: Для Nim 3.0 развивается новый компиляторный бэкенд на основе формата NIF
  5. OpenNews: Релиз языка программирования Nim 2.0
Обсуждение (33 +4) | Автор: User097 | Тип: Программы |
·24.04.2026 В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv и rm из GNU Coreutils (158 +48)
  Компания Canonical опубликовала предварительные итоги независимого аудита безопасности инструментария uutils coreutils (Rust Coreutils), написанного на языке Rust и частично применяемого в Ubuntu вместо пакета GNU Coreutils. Аудит был выполнен компанией Zellic, имеющей опыт анализа уязвимостей в проектах на языке Rust. В ходе проверки было выявлено 113 проблем с безопасностью.

В настоящее время уже доступен отчёт (PDF, 156 страниц) с результатами первого этапа аудита, охватывающего наиболее важные утилиты из набора uutils. На первом этапе, который был проведён с декабря 2025 по январь 2026 года, было выявлено 73 уязвимости, из которых 7 отмечены как критические, 11 - опасные, 29 - средней опасности и 26 - неопасные.

Второй этап аудита был проведён с февраля по март и охватывал второстепенные утилиты, не проверенные на первом этапе. На втором этапе было найдено 40 уязвимостей, опасность которых пока не детализируется (отчёт планируют опубликовать позднее). Информация о всех выявленных проблемах уже передана разработчикам uutils и большая часть уязвимостей была устранена в выпусках uutils 0.5-0.8 без лишней огласки и пометки связи вносимых исправлений с устранением уязвимостей.

Пакет rust-coreutils был включён по умолчанию в осеннем выпуске Ubuntu 25.10, но с учётом выявленных в ходе аудита проблем в LTS-ветке Ubuntu 26.04 возвращены утилиты cp, mv и rm из набора GNU Coreutils. Отмечается, что по состоянию на 22 апреля в данных утилитах остаётся не исправлено 8 известных состояний гонки. Остальные утилиты задействованы из выпуска rust-coreutils 0.8.0. В Ubuntu 26.10 разработчики намерены полностью перейти на rust-coreutils.

Уязвимости в системных утилитах опасны тем, что они используется в скриптах, запускаемых с правами root. Например, устранённая в выпуске uutils coreutils 0.3.0 уязвимость в утилите rm могла быть эксплуатирована при ежедневном запуске из cron скрипта /etc/cron.daily/apport, который выполняется с правами root и рекурсивно удаляет содержимое каталога /var/crash, доступного на запись всем пользователям в системе.

Среди уязвимостей, помеченных в первом отчёте критическими:

  • Уязвимость в утилите chroot, вызванная обработкой опции "--userspec" после вызова chroot(), но до сброса привилегий. На системах с glibc резолвинг имён через функцию getpwnam() приводит к чтению файла /etc/nsswitch.conf, применяемого в NSS (Name Service Switch), и динамической загрузке указанных в нём библиотек с модулями NSS (libnss_*.so.2). Так как до обработки NSS выполяется вызов chroot() файл /etc/nsswitch.conf загружается относительно нового корня, но NSS-библиотеки загружаются до сброса привилегий. Если пользователь имеет доступ на запись к новому корню, то он может подставить свои NSS-библиотеки и добиться выполнения кода с правами root.
  • Изменение прав доступа к файлу после сбоя создания именованного канала (FIFO) утилитой mkfifo - если указать в качестве аргумента существующий файл, то mkfifo вернёт ошибку, но при этом аварийно не завершит работу, а выполнит вызов set_permissions() и изменит права доступа к существующему файлу. С учётом umask 022 уязвимость позволяет поменять права доступа к файлу на 644 (rw-r-r-) и получить доступ к файлам, для которых не было разрешено чтение.
  • Обход ограничений "--preserve-root" в утилите chmod, запрещающих выполнение рекурсивных операций относительно корня ФС. Уязвимость (CVE-2026-35338) вызвана тем, что в коде проверялось только точное совпадение пути с "/" и не выполнялась канонизация файлового пути. Для обхода проверки достаточно использовать путь вида "/../" или символическую ссылку на корень. Уязвимость опасна тем, что при возможности подставить свой путь в системный скрипт вызывающий команду chmod, можно добиться рекурсивного изменения прав доступа для всех файлов в ФС.
  • В утилите rm допускалась обработка любых сокращений опции "--no-preserve-root" ("--n", "--no", "--no-p", "--no-pres" и т.п.) для отключения защиты от выполнение рекурсивной операции с корнем (например, можно указать "rm -rf --n /" и удалить по ошибке все данные. В GNU Coreutils подобные сокращённые опции запрещены.
  • Обход ограничений "--preserve-root" в утилите rm, запрещающих выполнение рекурсивных операций относительно корня ФС, через подстановку символической ссылки на "/".
  • Отсутствие полноценной защиты от указания каталогов, начинающихся с точки. Например, при выполнении "rm -rf ." утилита выведет ошибку, но при указании "rm -rf ./" или "rm -rf .///" молча удалит текущий каталог.
  • Ошибка в коде разбора аргументов утилиты kill позволяет отправить сигнал всем процессам в системе при указании идентификатора процесса "-1" (kill -1).

В остальном большая часть уязвимостей относится к классу TOCTOU (Time-Of-Check-To-Time-Of-Use), подразумевающему наличие состояния гонки, позволяющего изменить данные в момент после проверки корректности информации, но до выполнения операции с ними, например, подменить файл на символическую ссылку в момент между завершением проверки и началом выполнения операции. В контексте использования утилит cp и mv в системных скриптах, запускаемых с правами root, подобные уязвимости позволяют скопировать или перезаписать произвольные файлы.

  1. OpenNews: Выпуск uutils 0.8, варианта GNU Coreutils на языке Rust
  2. OpenNews: Расхождение поведения утилиты du в uutils и GNU Coreutils
  3. OpenNews: Уязвимости в snapd и Rust Сoreutils, позволяющие получить root-привилегии в Ubuntu
  4. OpenNews: Выпуск набора утилит GNU Coreutils 9.10
  5. OpenNews: Из-за ошибки в uutils в Ubuntu 25.10 перестала работать автоматическая проверка наличия обновлений
Обсуждение (158 +48) | Тип: Проблемы безопасности |
·24.04.2026 Уязвимость в PackageKit, позволяющая получить права root в разных дистрибутивах Linux (39 +17)
  В PackageKit, D-Bus-прослойке, унифицирующей операции управления пакетами, выявлена уязвимость Pack2TheRoot (CVE-2026-41651), позволяющая непривилегированному пользователю установить или удалить произвольный пакет и получить root-доступ к системе. Проблема проявляется начиная с версии 1.0.2 (2014 год) и устранена в выпуске PackageKit 1.3.5.

Проблему выявили исследователи из компании Deutsche Telekom при помощи AI-модели Claude Opus. Подготовлен рабочий эксплоит, действующий в большинстве дистрибутивов с PackageKit, но его и детальную информацию об уязвимости планируют опубликовать позднее, чтобы дать пользователям время обновить свои системы. Возможность эксплуатации уязвимости продемонстрирована в Ubuntu Desktop 18.04/24.04.4/26.04, Ubuntu Server 22.04 - 24.04, Debian Desktop 13.4, RockyLinux Desktop 10.1 и Fedora 43 Desktop/Server. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах (если страница недоступна, значит разработчики дистрибутива ещё не приступили к рассмотрению проблемы): Debian, Ubuntu, SUSE, RHEL, Gentoo, Arch, Fedora, FreeBSD.

Уязвимость вызвана состоянием гонки при обработке флагов транзакций в фоновом процессе PackageKit, позволяющем подменить параметры операции в момент между прохождением авторизации и до запуска операции с пакетом. Атакующий может отправить D-Bus-запрос для выполнения операции, допустимой для непривилегированного пользователя, после чего следом отправить повторный D-Bus-запрос. Если повторный запрос придёт до фактического начала выполнения разрешённой операции, можно добиться переопределения флагов уже начатой транзакции и изменения прокэшированного состояния.

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

  1. OpenNews: Началась разработка пакетного менеджера DNF 5 и замены PackageKit
  2. OpenNews: Уязвимость в Polkit, позволяющая повысить свои привилегии в системе
  3. OpenNews: Уязвимость в SUSE Manager, позволяющая выполнять root-операции без аутентификации
  4. OpenNews: Уязвимость в NetworkManager-libreswan и guix-daemon, позволяющие повысить привилегии в системе
  5. OpenNews: Критическая уязвимость в PolKit, позволяющая получить root-доступ в большинстве дистрибутивов Linux
Обсуждение (39 +17) | Тип: Проблемы безопасности |
·24.04.2026 В Firefox встроен движок блокирования рекламы adblock-rust, используемый в Brave (135 +35)
  В кодовую базу Firefox добавлен движок блокирования рекламы adblock-rust, развиваемый разработчиками браузера Brave. Несколько месяцев назад переход Brave на обновлённый adblock-rust позволил снизить потребление памяти на 75% по сравнению с ранее используемым движком блокирования рекламы (в конфигурации по умолчанию потребление памяти снизилось на 45 МБ). Экономия достигается благодаря задействованию вместо структур Vecs и HashMaps формата FlatBuffers для компактного хранения правил блокировки. Движок написан на языке Rust и распространяется под лицензией MPL 2.0.

Аdblock-rust поддерживает блокировку сетевых запросов, косметические фильтры, подмену ресурсов на страницах, расширенный синтаксис правил uBlock Origin, блокировку по списку хостов в формате /etc/hosts и валидацию CSS для отключения правил косметических фильтров с некорректным синтаксисом CSS. Движок оформлен в виде подключаемой библиотеки, компилируемой в машинный код или представление WebAssembly. Подготовлены обвязки для языков Rust, JavaScript и Python.

В Firefox движок adblock-rust отключён по умолчанию, имеет статус экспериментальной возможности и может быть активирован начиная с выпуска Firefox 149. Интерфейс пользователя и предопределённые списки блокировки пока отсутствуют. После интеграции в Firefox движок начал применяться проектом Waterfox, который реализовал виджет для управления блокировкой и добавил настройки в конфигуратор, подключающие такие фильтры, как EasyList, EasyPrivacy, AdGuard Tracking Protection, EasyList Cookie.

Для включения встроенного блокировщика рекламы в Firefox на странице about:config следует выставить параметр "privacy.trackingprotection.content.protection.enabled = true", после чего добавить требуемые наборы фильтров. Например, для использования фильтров EasyList и EasyPrivacy на странице about:config необходимо добавить параметр:


   privacy.trackingprotection.content.protection.test_list_urls = https://easylist.to/easylist/easylist.txt|https://easylist.to/easylist/easyprivacy.txt

Помимо этого для изменения доступны параметры, включающие отладочный режим пометки без блокирования:


    privacy.trackingprotection.content.annotation.enabled 
    privacy.trackingprotection.content.annotation.test_list_urls

  1. OpenNews: В Firefox включена по умолчанию блокировка скрытых методов идентификации пользователя
  2. OpenNews: В Firefox 149 появится встроенный VPN с 50 ГБ бесплатного трафика
  3. OpenNews: В Brave выявлена утечка через DNS сведений об открываемых в Tor-режиме onion-сайтах
  4. OpenNews: В браузер Brave встроена поддержка распределённой сети IPFS
  5. OpenNews: В браузере Brave выявлена подстановка реферального кода при открытии некоторых сайтов
Обсуждение (135 +35) | Тип: К сведению |
·23.04.2026 Релиз дистрибутива Ubuntu 26.04 (236 +26)
  Опубликован дистрибутив Ubuntu 26.04 "Resolute Raccoon", который отнесён к выпускам с длительным сроком поддержки (LTS), обновления для которых формируются в течение 15 лет (5 лет - общедоступные, плюс ещё 10 лет для пользователей сервиса Ubuntu Pro). Установочные образы созданы для Ubuntu, Ubuntu Server, Lubuntu, Kubuntu, Ubuntu Budgie, Ubuntu Studio, Xubuntu, UbuntuKylin (редакция для Китая), Ubuntu Unity, Edubuntu и Ubuntu Cinnamon.

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

  • Рабочий стол обновлён до выпуска GNOME 50, в котором удалён код для поддержки X11, реализована новая система сохранения сеансов, переработан интерфейс родительского контроля, улучшена поддержка нецелых уровней масштабирования и механизма VRR (Variable Refresh Rate), реализована поддержка Wayland-протокола color-management-v2 для управления цветом.

    По умолчанию задействованы видеопроигрыватель Showtime (вместо Totem) и GNOME Resources (вместо старого приложения для отслеживания потребления ресурсов). Добавлена возможность использования встроенной в GNOME Shell поисковой системы для запуска поиска в web через браузер и поиска snap-приложений.

  • Улучшена интеграция с рабочим столом приложений в формате snap, используя XDG Desktop Portal для управления доступа приложений к ресурсам вне изолированного окружения. Например, из snap-приложения можно инициировать открытие файлов и каталогов из любой части ФС в файловом менеджере и других десктоп-приложениях. Также можно запрашивать доступ к камере, уведомлениям и USB-устройствам. Права доступа snap-приложений к внешним ресурсам контролируются через конфигуратор GNOME.
  • В конфигуратор в секцию "Privacy & Security" добавлена панель "Telemetry" для настройки системы накопления и отправки телеметрии Ubuntu Insights, через которую реализован периодический сбор метрик. В панели можно проконтролировать статус отправки телеметрии и просмотреть отправляемые отчёты. Система является опциональной и включается по желанию пользователя в мастере начальной настройки (GNOME Initial Setup). При обновлении версии Ubuntu реализован вывод запроса активации телеметрии.
  • Минимальные системные требования в Ubuntu Desktop 26.04 повышены с 4 до 6 ГБ ОЗУ (прошлое изменение было в 2018 году, когда требования к ОЗУ увеличились с 1 до 4 ГБ). Для работы также требуется как минимум двухядерный CPU с частотой 2 GHz и 25 ГБ места на постоянном хранилище. Для Ubuntu Server 26.04 минимальные требования составляют 1.5 ГБ ОЗУ и 4 ГБ на накопителе.
  • Повышена стабильность и производительность при использовании Wayland на системах с GPU NVIDIA.
  • Расширены возможности по использованию полнодискового шифрования, не требующего ввода пароля разблокировки диска при загрузке, благодаря хранению информации для расшифровки ключей в TPM (Trusted Platform Module). Реализованы возможности для восстановления ключей, применяемых при полнодисковом шифровании на базе TPM. Добавлена поддержка добавления и удаления PIN-кодов или паролей после установки. В конфигуратор добавлена опция для перешифровки диска.
  • Изменено оформление диалогов, выводимых системой вывода запросов полномочий, требующих у пользователя подтверждения доступа, например, при обращении из snap-пакетов к файлам в домашнем каталоге. Динамическое предоставление доступа организовано с использованием механизма AppArmor.
  • Проведена работа по унификации установки и обновления пакетов. App Center рассматривается как единое приложение для управления всеми видами приложений, независимо от формата, в котором они поставляются.
  • Предложен дополнительный стек виртуализации virt-hwe (Hardware Enablement), компоненты которого два раза в год будут обновляться до новых версий по мере формирования обновлений Ubuntu 26.04.x по аналогии с тем как в подобных обновлениях предлагаются новые версии ядра Linux. В состав набора virt-hwe включены пакеты qemu-hwe, libvirt-hwe, seabios-hwe и edk2-hwe. Для переключения между двумя вариантами пакетов для вирутализации в состав включена утилита ubuntu_virt_helper.
  • В инсталляторе Ubuntu Server реализована автоматическая установка OEM- и HWE-метапакетов с драйверами и приложениями, необходимыми для корректной работы имеющегося оборудования.
  • В репозиторий добавлен пакет authd для настройки централизованной аутентификации через облачных провайдеров идентификации, таких как MS Entra ID и Google Cloud Identity.
  • Обновлены версии пакетов, включая ядро Linux 7.0, systemd 259.5, glibc 2.43, Chrony 4.8, LibreOffice 26.2.2, VLC 3.0.23, GIMP 3.2.2, GStreamer 1.28, GTK 4.22.2, Qt 6.10.2, OpenSSL 3.5.6, BlueZ 5.85, CUPS 2.4.16, Snapd 2.74.1, Pipewire 1.6.2, Mesa 26.0.3.
  • Обновлены пакеты для разработчиков: LLVM 21, GCC 15.2, Python 3.13, OpenJDK 25, PHP 8.5.2, Go 1.25, .NET 10, Rust 1.93.1, strace 6.19, PostgreSQL 18, MariaDB 11.8.6, MySQL 8.4.8, Valkey 9.0.3.
  • Обновлены серверные пакеты: Samba 4.23, Exim 4.99.1, Postfix 3.10.6, unbound 1.24.2, multipath-tools 0.12.2, OpenLDAP 2.6.10, containerd 2.2.1, runc 1.4.0, Docker 29, libvirt 12.0.0, QEMU 10.2.1, EDK2 2025.11, Netplan 1.1.2, cloud-init 26.1, OpenStack 2026.1, HAProxy 3.2, Apache httpd 2.4.65, Nginx 1.28.2, OpenSSH 10.2.
  • В утилите sudo-rs, поставляемой вместо sudo, включена по умолчанию индикация ввода пароля (появление звёздочек по мере набора). Для возвращения старого поведения в /etc/sudoers следует выставить настройку "Defaults !pwfeedback".
  • Для пакетов на языке Rust реализована опциональная поддержка инструментария cargo-auditable, прикрепляющего к исполняемому файлу метаданные об используемых при компиляции версиях зависимостей. При обнаружении уязвимости в зависимости подобная информация позволяет отследить подверженность данной уязвимости используемых исполняемых файлов. Поддержка аудита реализована для пакетов alacritty, bat, du-dust, eza, fd-find, hyperfine, ripgrep, sd и sudo-rs.
  • В состав включены компилятор и библиотеки DPC++ (Data Parallel C++) для создания гетерогенных приложений на языке SYCL (надстройка над C++).
  • В библиотеке libfprint расширена поддержка датчиков отпечатков пальцев и реализована поддержка протокола SDCP (Secure Device Connection Protocol).
  • Для систем с GPU AMD и Intel включена по умолчанию поддержка аппаратного кодирования и декодирования видео через VA-API.
  • В ядре cgroupfs по умолчанию теперь монтируется с опциями "nsdelegate, memory_recursiveprot, memory_hugetlb_accounting". В systemd удалена поддержка cgroup v1 и переведены в разряд устаревших скрипты сервисов System V (прослойка для совместимости с подобными скриптами пока сохранена).
  • По умолчанию обеспечено монтирование внешних носителей в каталог /run/media вместо /media.
  • Удалены сервисы blkmapd и nfs-blkmap, применявшиеся для NFS.
  • Прекращена поддержка систем IBM Z z14 (LinuxONE II) и более ранних поколений.
  • Для архитектуры ARM64 реализована возможность установки исправлений к ядру Linux на лету (Livepatch) без перезагрузки.
  • Обеспечена поставка инструментариев NVIDIA CUDA, NVIDIA DOCA-OFED и AMD ROCm в штатных репозиториях Ubuntu.
  • Реализована полная поддержка профиля архитектуры RISC-V RVA23 (RISC-V Application), в который включены расширения для векторных операций и гипервизоров. В настоящее время лишь ограниченное число плат RISC-V поддерживают векторные расширения профиля RVA23, а большинство доступных на рынке устройств соответствуют профилю RVA20.
  • На стороне хоста и гостевых систем добавлена поддержка конфиденциальных виртуальных машин, использующих для шифрования памяти расширения AMD SEV-SNP (Secure Encrypted Virtualization - Secure Nested Paging) и Intel TDX (Trust Domain Extensions).
  • В репозиторий добавлены пакеты с СУБД DocumentDB 0.108, открытой компанией Microsoft. В репозитории "main" обеспечена полная поддержка СУБД MariaDB. Прекращена сборка пакетов с PostgreSQL для архитектуры i386.
  • В Kerberos добавлена поддержка загрузки файлов конфигурации из каталога "/etc/krb5.conf.d".
  • Ubuntu MATE 26.04 и Ubuntu Unity 26.04 решено не присваивать статус LTS. Для Ubuntu MATE 26.04 сборки не сформированы. В конце марта лидер Ubuntu MATE объявил об уходе из проекта.
  • В Kubuntu задействованы выпуски KDE Plasma 6.6, KDE Gear 25.12.3, Qt 6.10 и KDE Frameworks 6.24.0. По умолчанию используется сеанс KDE на основе Wayland. В репозитории остаётся пакет "plasma-session-x11" для создания сеанса на базе X-сервера, но он больше не поддерживается командой Kubuntu.
  • В Edubuntu полностью переписаны инсталлятор и меню администратора, которые теперь включают два бэкенда (GTK4 и Qt6), выбираемых в зависимости от типа рабочего стола, а также содержат модуль Cockpit для web-интерфейса. В поставку включены программа для чтения электронных книг Foliate, rss-ридер Paperboy, видеопроигрыватель GNOME Showtime (вместо Totem), Arduino IDE, Raspberry Pi Imager, редактор химических структур GChemPaint, система заметок GNOME Notes (вместо Gnote). Удалены завязанные на GTK2 пакеты, такие как chemtool.
  • В Ubuntu Budgie задействован выпуск Budgie Desktop 10.10.2, переведённый на использование Wayland и использующий по умолчанию композитный сервер labwc. В качестве мультимедийного проигрывателя по умолчанию задействован VLC, а в качестве панели - Crystal Dock. Изменено оформление верхней панели. В меню приложений интегрирована секций с избранным контентом.
  • В Xubuntu продолжает поставляться Xfce 4.20. Из панели по умолчанию удалён плагин с индикаторами, а большинство приложений переведены на KStatusNotifier для отображения пиктограмм в системном лотке.
  • В Ubuntu Cinnamon задействована среда рабочего стола Cinnamon 6.4.13. Приложение gnome-font-viewer заменено на font-manager, лучше поддерживающий темы оформления Cinnamon.
  • В Lubuntu предложен выпуск среды рабочего стола LXQt 2.3.
  • Ubuntu Unity 26.04 продолжает поставляться с оболочкой Unity 7.7.
  • В Ubuntu Studio предложены три переключаемые варианта компоновки рабочего стола - классический с верхней панелью, в стиле macOS с глобальным меню и в стиле Windows 10 с нижним меню. Инсталлятор и система настройки звука переписаны на Python с раздельными бэкендами для GTK4 и Qt6. В конфигуратор звука добавлена поддержка FFADO для устройств FireWire и возможности для настройки частоты дискретизации и размера буферов для PipeWire.

    Добавлен звуковой плагин Loopino (LV2/CLAP/VST2) для загрузки, обрезки и зацикливания звуковых файлов. Добавлен апплет для изменения настроек PipeWire из системного лотка. Добавлен драйвер snd-hdspe для звуковых карт AIO, AIO Pro, RME HDSPe MADI, AES и RayDAT. Добавлен пакет DistroAV для передачи звука и видео в OBS Studio, используя технологию NDI. Обновлены версии пакетов OBS Studio 32.1.0, FreeShow 1.5.9, QPrompt 2.0.1, RaySession 0.17.4, Patchance 1.3.2, Geonkick 3.7.0, BChoppr 1.12.8, harpwise 6.34.4 и blender 5.0.1.

    1. OpenNews: Релиз дистрибутива Ubuntu 24.04 LTS
    2. OpenNews: Релиз Ubuntu 25.10
    3. OpenNews: Доступен дистрибутив Ubuntu 25.04
    4. OpenNews: Выпуск дистрибутива Ubuntu 24.10
Обсуждение (236 +26) | Тип: Программы | Интересно
·23.04.2026 Уязвимость в API IndexedDB, позволяющая идентифицировать пользователей Firefox и Tor Browser (68 +25)
  В браузерном движке Gecko выявлена уязвимость (CVE-2026-6770), позволяющая формировать уникальные идентификаторы для отслеживания открытия из одного браузера разных сайтов. Проблема проявляется во всех браузерах на основе Firefox, включая Tor Browser, и работает даже в режиме приватного просмотра. Идентификаторы действуют в рамках текущего процесса браузера и сбрасываются после перезапуска браузера. Уязвимость устранена в выпусках Firefox 150/140.10.0 и Tor Browser 15.0.10.

Для формирования идентификатора достаточно на разных сайтах создать через API IndexedDВ одну и ту же последовательность БД, после чего оценить порядок следования этих БД в результате вызова метода indexedDB.databases(). Для разных экземпляров браузера порядок перечисления БД будет отличаться, но для одного - повторяться. Подобный порядок сохраняется до перезапуска браузера и воспроизводится независимо от открываемого сайта.

Например, после создания БД "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r" в одном экземпляре Firefox метод indexedDB.databases() всегда будет возвращать "g,c,p,a,l,f,n,r,d,j,b,o,h,e,m,i,k", а в другом экземпляре - "j,b,o,h,e,m,i,k,f,n,r,d,g,c,p,a,l". При создании 16 БД можно получить около 44 бит энтропии для идентификации. На генерацию идентификатора не влияет очистка локальных браузерных хранилищ и обновление цепочки Tor-узлов кнопкой "New Identity" в Tor Browser. Метод также может использоваться для идентификации пользователей в окне приватного просмотра.

Уязвимость вызвана особенностью реализации API IndexedDВ, на порядок следования БД в которой влияет раскладка внутренних структур, специфичная для каждого экземпляра рабочего процесса браузера. Порядок элементов в списке БД, возвращаемом методом indexedDB.databases(), зависит не от имён БД или порядка создания БД, а от размещения в глобальной хэш-таблице внутренних UUID-хешей, ассоциированных с именами файлов, в которых хранятся БД на диске.

  1. OpenNews: Релиз Firefox 145 с расширенной защитой от скрытой идентификации
  2. OpenNews: 5 критических уязвимостей в Chrome. Оценка работающих в Chrome методов скрытой идентификации
  3. OpenNews: В Firefox появится дополнительная защита от скрытой идентификации пользователей
  4. OpenNews: Применение метода атаки Rowhammer для создания уникальных идентификаторов
  5. OpenNews: 30% из тысячи крупнейших сайтов используют скрипты для скрытой идентификации
Обсуждение (68 +25) | Тип: Проблемы безопасности |
·23.04.2026 Выпуск эмулятора QEMU 11.0.0 (62 +31)
  Представлен релиз проекта QEMU 11.0.0. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к аппаратной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM в Linux, или модуля NVMM в NetBSD.

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 11.0.0 внесено более 2500 изменений от 237 разработчиков.

Ключевые улучшения, добавленные в QEMU 11.0:

  • Удалена поддержка 32-разрядных хост-систем, которая была объявлена устаревшей в апреле прошлого года в QEMU 10.0. В декабрьском выпуске 10.2 в генераторе кода TCG (Tiny Code Generator) была прекращена поддержка платформ mips32 и ppc32, а в выпуске QEMU 11.0 удалены оставшиеся платформы i386, arm, ppc и riscv32, а также проведена чистка кодовой базы и сборочной системы от компонентов для работы на 32-разрядных хостах.
  • Реализован ускоритель виртуализации "nitro" ("-accel nitro") и новый тип эмулируемых систем "nitro", позволяющий запускать в QEMU изолированные анклавы на базе технологии конфиденциальных вычислений AWS Nitro Enclave, например, для локального тестирования в QEMU окружений Nitro Enclave. В AWS EC2 технология Nitro Enclave позволяет запускать в виртуальной машине вложенные изолированные анклавы для работы с конфиденциальными данными, выделяя им часть своих ресурсов.
  • Улучшена поддержка ускорителей виртуализации MSHV (Microsoft Hypervisor) и WHPX (Microsoft Windows Hypervisor Platform Extensions).
  • При использовании гипервизора KVM ("-accel kvm") предоставлена поддержка виртуализации расширения Intel CET (Control-flow Enforcement Technology) для применения в виртуальных машинах защиты от эксплоитов, использующих методы возвратно-ориентированного программирования (ROP - Return-Oriented Programming). Также добавлена поддержка перезагрузки конфиденциальных виртуальных машин, использующих для шифрования памяти расширения AMD SEV-SNP (Secure Encrypted Virtualization - Secure Nested Paging) и Intel TDX (Trust Domain Extensions).
  • В устройство VirtIO-GPU, обеспечивающее работу виртуального GPU, добавлена возможность выставления отличающихся разрешений экрана для разных устройств вывода.
  • В VirtIO-GPU добавлена поддержка контекстов DRM (Direct Rendering Manager native context), позволяющих повысить производительность работы с виртуальным GPU из гостевой системы за счёт прямой передачи команд в реальный хостовый GPU. Поддержка контекстов DRM включается при использовании нового устройства virtio-gpu-gl с опцией "drm_native_context=on". В отличие от контекстов Virgl и Venus, работающих на уровне API OpenGL и Vulkan, контекст DRM реализован на уровне UAPI ядра Linux.
  • Добавлена возможность использования языка C++ для разработки плагинов к генератору кода TCG (Tiny Code Generator).
  • В блочный драйвер NFS добавлена поддержка сборки с библиотекой libnfs 6.
  • В блочный драйвер curl добавлена опция "force-range" для принудительного использования HTTP-заголовка "Range" при загрузке образов без предварительной проверки его поддержки отдельным запросом с заголовком HEAD.
  • В блочном драйвере FUSE отключена обработка операций экспорта в синхронном режиме, приводивших к блокировке запуска виртуальной машины до окончания обработки других FUSE-запросов. Добавлена возможность использования нескольких потоков ввода/вывода (iothread) при выполнении экспорта в FUSE.
  • В эмулятор архитектуры x86 добавлена поддержка CPU Intel Diamond Rapids ("Xeon 7").
  • В эмулятор архитектуры ARM добавлена процессорных расширений FEAT_ASID2 и FEAT_E2H0. В генераторе кода TCG реализована эмуляция расширений SME (Scalable Matrix Extension).
  • В эмулятор архитектуры HPPA добавлена поддержка эмуляции 64-разрядных CPU c 40- и 44-разрядным адресным пространством. При помощи SeaBIOS-hppa 24 обеспечена инициализация PCI-контроллера Astro, позволяющая использовать PCI-видеокарты на 64-рядных системах.
  • В эмуляторе архитектуры LoongArch появилась возможность миграции PMU (Performance Monitoring Unit) при использовании гипервизора KVM. В генераторе кода TCG реализована эмуляция расширений LA v1.1, sc.q и llacq/screl, а также инструкций FRECIP и DRECIP для вычисления обратных значений.
  • В эмулятор архитектуры PowerPC добавлена поддержка снапшотов.
  • В эмуляторе архитектуры RISC-V реализована поддержка CPU MIPS P8700 и расширений набора команд Zilsd, Zclsd, ZALASR и Smpmpmt.
  • В эмуляторе архитектуры s390 появилась поддержка загрузки с устройств virtio-blk-pci и реализована эмуляции инструкции "DIVIDE TO INTEGER".
  • Принято исправление, в 50-80 раз сокращающее задержки при работе fdmon (file descriptor monitoring) в режиме "aio=io_uring" и нахождении системы в состоянии простоя (idle).

    1. OpenNews: Разработчик io_uring выявил в QEMU проблему, в 50-80 раз замедлявшую fdmon в режиме простоя
    2. OpenNews: QEMU на пути удаления поддержки 32-разрядных хост-систем
    3. OpenNews: Выпуск эмулятора QEMU 10.2.0
    4. OpenNews: Выпуск Box64 0.4.0, эмулятора для запуска x86-игр на системах ARM64, RISC-V и Loongarch64
    5. OpenNews: Выпуск PCSX2 2.6.0, эмулятора Sony Playstation 2
Обсуждение (62 +31) | Тип: Программы |
·23.04.2026 Проект WSL9x для запуска современных Linux-ядер в окружении Windows 95 (140 +53)
  Не связанный с компанией Microsoft энтузиаст реализовал инструментарий WSL9x (Windows 9x Subsystem for Linux), позволяющий запускать современные ядра Linux внутри ядра Windows 95/98/ME. Проект даёт возможность в одной системе бок о бок выполнять приложения для Linux и Windows 9x, по аналогии с тем как прослойка WSL позволяет работать с Linux-приложениями в современных версиях Windows. Поддерживается запуск только консольных Linux-программ. Код компонентов WSL9x написан на Си и языке ассемблера и распространяется под лицензией GPLv3.

В отличие от WSL2 в WSL9x не применяется виртуализация и ядро Linux выполняется в нулевом кольце защиты параллельно с ядром Windows, что позволяет использовать WSL9x на системах без поддержки аппаратной виртуализации, даже c CPU i486. В системе применяется модифицированное ядро Linux 6.19, собранное для работы в режиме UML (User-mode Linux), предназначенном для запуска ядра как пользовательского процесса. Обращение к POSIX API в UML-слое трансляции заменено на вызов API ядра Windows 9x.

В Windows загружается подготовленный проектом VxD-драйвер, отвечающий за инициализацию подсистемы WSL9x, загрузку и размещение ядра Linux в памяти, диспетчеризацию прерываний, цикличную передачу управления ядру Linux в режиме совместной многозадачности и обработку адресованных Linux-ядру событий из пространства пользователя, таких как выполнение системных вызовов и обращение к невыделенным страницам памяти (page faults). Так как размера таблицы дескрипторов прерываний (IDT, Interrupt Descriptor Table) в ядре Windows 9x недостаточно для установки обработчика прерывания 0x80, для системных вызовов Linux применяется обработчик GPF (General Protection Fault), перехватывающий исключения, возникающие при выполнении инструкции SYSCALL.

Для пользователей предлагается утилита wsl.com, оформленная в виде 16-разрядного DOS-приложения и позволяющая использовать командную строку MS-DOS для запуска Linux-программ. Утилита обеспечивает передачу событий ввода и симулирует функциональность консоли для отображения вывода с поддержкой ANSI escape-кодов.

  1. OpenNews: Выпуск WSL 2.7.0, прослойки для запуска Linux в Windows
  2. OpenNews: Проект по адаптации подсистемы WSL2 для запуска FreeBSD в Windows
  3. OpenNews: Microsoft открыл код Windows Subsystem for Linux и текстового редактора Edit
  4. OpenNews: Первый выпуск Lima, окружения для запуска Linux-приложений в macOS
  5. OpenNews: Apple открыл инструментарий для запуска Linux-контейнеров в macOS
Обсуждение (140 +53) | Тип: Программы |
·22.04.2026 Инициатива по удалению из ядра старых Ethernet-драйверов из-за ошибок, выявляемых через AI (321 +6)
  Эндрю Ланн (Andrew Lunn), мэйнтейнер 9 подсистем, отвечающий за сетевые драйверы в ядре Linux, опубликовал набор патчей, удаляющих из ядра все драйверы для Ethernet-адаптеров с интерфейсами ISA и PCMCIA. Отмечается, что ранее старые драйверы не требовали особых усилий по сопровождению, но с появлением продвинутых AI-инструментов и систем fuzzing-тестирования, используемых новичками для выявления ошибок в ядре, нагрузка на сопровождающих увеличилась.

Эндрю не видит особого смысла в исправлении старых драйверов, которыми, вероятно, уже никто не пользуется, и предлагает удалить их из ядра. В представленном для рецензирования наборе патчей удалено 18 драйверов для Ethernet-устройств с интерфейсами ISA и PCMCIA, выпускавшихся до 2002 года. В случае одобрения Линуса Торвальдса удаление может быть произведено в ядре Linux 7.2, намеченном на середину августа.

Предложенные для удаления драйверы:

  • 3com 3c509, 3c515, 3c574, 3c589 и 3c59x для серий 3Com EtherLinkIII, EtherLink XL "Corkscrew", "RoadRunner" и "Vortex".
  • amd hplance, mvme147, 7990 lance и nmclan для HP300, Motorola MVME147 SBC, AMD PCnet32 (AT1500, NE2100), Allied Telesis AT1500, HP J2405A, Alchemy Semi AU1X00.
  • smsc smc9194 и smc91c92, использовались на ноутбуках DELL c док-станциями и в ethernet-картах Megahertz, Motorola, Ositech и Psion Dacom.
  • cirrus cs89x0 и mac89x0 для карт с чипами Crystal Semiconductor (Cirrus Logic) CS89[02]0, которые, например, использовались в платах iMX21ADS, компьютерах Macintosh и интегрировались в CPU EP93xx.
  • fujitsu fmvj18x для Ethernet-карт с чипами Fujitsu FMV-J18x.
  • xircom xirc2ps для выпускавшихся в конце 1990-х 16-разрядных PCMCIA-карт Xircom.
  • 8390 AX88190, pcnet, ultra и wd80x3 - для NE2000-совместимых Ethernet-карт на чипах Asix AX88190, NS8390, SMC Ultra, SMC EtherEZ, WD8003 и WD8013, таких как D-Link DE-650, Linksys EthernetCard, Accton EN2212, RPTI EP400, PreMax PE-200, Thomas Conrad и Kingston KNE-PCM.

После публикации патчей к обсуждению подключилось несколько пользователей, которые заявили о наличии в своих инфраструктурах оборудования, использующего предложенные к удалению драйверы. Например, до сих пор используются Motorola MVME147, mac89x0 и 3com 3C905-B. Также упоминается, что удаляемые драйверы могут потребоваться для ретро-систем Alpha, SPARC, PA-RISC и 68000.

  1. OpenNews: Защита от мусорных AI-изменений на GitHub. Оценка влияния вайб-кодинга на экосистему открытого ПО
  2. OpenNews: Эксперимент по использованию AI для рецензирования изменений в DRM-подсистеме ядра Linux
  3. OpenNews: LLVM ввёл правила применения AI-инструментов. Curl и Node.js ограничат выплаты за уязвимости из-за AI
  4. OpenNews: Линус Торвальдс принял план передачи управления репозиторием ядра Linux в непредвиденных ситуациях
  5. OpenNews: Интервью с Грегом Кроа-Хартманом о созданных через AI отчётах об ошибках
Обсуждение (321 +6) | Тип: К сведению |
·21.04.2026 Релиз Firefox 150 с устранением 359 уязвимостей (219 +60)
  Состоялся релиз web-браузера Firefox 150 и сформированы обновления прошлых веток с длительным сроком поддержки - 140.10.0 и 115.35.0. На стадию бета-тестирования в ближайшие часы будет переведена ветка Firefox 151, релиз которой намечен на 19 мая.

Основные новшества в Firefox 150 (1, 2, 3):

  • Устранено 359 уязвимостей (56 уязвимостей собрано под CVE-2026-6784, 155 под CVE-2026-6785, 110 под CVE-2026-6786, а остальные под отдельными CVE). 345 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Большая часть проблем выявлена при проверке (1, 2, 3) кода AI-моделями. Дополнение: 271 уязвимость выявлена в ходе проверки кода AI-моделью Claude Mythos.
  • В контекстное меню, показываемое при клике правой кнопкой мыши на ссылке, добавлена кнопка для быстрого открытия содержимого ссылки в режиме Split View, позволяющем в одном окне бок о бок просмотреть содержимое двух вкладок. После вызова режима Split View из контекстного меню вкладки добавлена возможность выбора второй вкладки через поиск по открытым вкладкам. В контекстное меню вкладки также добавлена кнопка "Reverse Tabs", позволяющая поменять местами вкладки в левом и правом блоке Split View.
  • Предложена служебная страница about:translations, предоставляющая отдельный интерфейс для перевода текста с одного языка на другой. Перевод осуществляется в режиме реального времени по мере набора. Для быстрого перехода на данную страницу можно использовать подсказку, появляющуюся при начале набора слова "translate" в адресной строке.
  • На платформе Linux задействован штатный интерфейс выбора Emoji, предоставляемый библиотекой GTK. Интерфейс вызывается при двойном нажатии Ctrl+"." в формах ввода текста.
  • Обеспечено формирование rpm-пакетов для Red Hat Enterprise Linux, Fedora, openSUSE и других дистрибутивов, использующих пакетный менеджер RPM.
  • Предоставлена возможность передачи через буфер обмена информации сразу о нескольких вкладках: если выделить в панели несколько вкладок и выбрать в контекстном меню "Share → Copy X links", то в буфер обмена будут помещены заголовки и URL выделенных вкладок.
  • Во встроенный PDF-просмотрщик добавлены функции для изменения порядка, копирования, вставки, удаления и экспорта страниц из PDF-документа.
  • Для всех пользователей включено применение спецификации LNA (Local Network Access) для ограничения обращений к локальной системе (loopback, 127.0.0.0/8) или внутренней сети (192.168.0.0/16, 10.0.0.0/8 и т.п.) при взаимодействии с публичными сайтами. Для обращения к внутренним ресурсам пользователь должен предоставить web-приложению специальные полномочия, так как подобная активность используются злоумышленниками для осуществления CSRF-атак на маршрутизаторы, точки доступа, принтеры, корпоративные web-интерфейсы и другие устройства и сервисы, принимающие запросы только из локальной сети. Кроме того, сканирование внутренних ресурсов может использоваться для косвенной идентификации или сбору сведений о локальной сети. Ранее подобная защита действовала только при включении режима усиленной защиты от отслеживания перемещений (ETP, Enhanced Tracking Protection => Strict).
  • В сборках для Windows реализована новая система управления профилями, возможность сохранения профиля в файл и поддержка использования Firefox для обособленных web-приложений.
  • В настройки добавлена опция (Settings > Tabs > Drag tabs), позволяющая отключить создания групп вкладок при перетаскивании мыши одной вкладки на другую для тех кто предпочитает управлять группировкой только через контекстне меню.
  • Интегрированный бесплатный VPN-сервис Firefox VPN теперь доступен пользователям из Канады, помимо пользователей США, Франции, Германии и Великобритании. Сервис позволяет обращаться к сайтам не напрямую, а через промежуточные прокси-серверы в разных странах, скрывающие IP-адрес пользователя. Имеется возможность включать VPN только для выбранных сайтов. Для активации VPN необходима регистрация учётной записи в Mozilla. В VPN-сервисе действует ограничение в 50 гигабайт трафика в месяц.


  • В инструментах для web-разработчиков в панель CSS добавлена отдельная секция с псевдоклассами, специфичными для элементов, такими как псевдокласс ":open", применяемый для раскрываемых элементов типа <dialog>, и ":visited" - применяемый для элементов <a> и <area>.

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

  • Реализован API ariaNotify, позволяющий в web-приложениях для людей с проблемами со зрением выводить уведомления через экранный ридер.
  • Реализована поддержка псевдо-классов ":playing", ":paused", ":buffering", ":muted", ":paused", ":playing", ":seeking", ":stalled" и ":volume-locked" для изменения стиля элементов audio и video в зависимости от состояния воспроизведения.
  • Добавлен метод highlightsFromPoint(), возвращающий для указанной позиции на странице массив объектов HighlightHitResult с информацией о содержимом, выделенном при помощи CSS Custom Highlight API.
  • В CSS добавлена поддержка применения функции light-dark() к изображениям для адаптации к настройкам светлого или тёмного режима. В функции можно указать два изображения, которые будут выбраны в зависимости от светлого или тёмного режима.
    
       light-dark(
         url("light-icon.png"),
         url("dark-icon.png")
       );
    
  • В CSS-функции color-mix() появилась поддержка смешивания произвольного числа значений цветов (ранее допускалось только смешивание двух цветов).
    
       color-mix(in oklab, teal 20%, olive 30%, blue 50%)
    
  • Для изображений, загружаемых по мере прокрутки страницы ("loading=lazy"), варианты которых определены через свойство "srcset", реализована поддержка атрибута "sizes=auto". Данное значение позволяет браузеру автоматически выбирать подходящее изображение из набора "srcset" в зависимости от ширины доступной для элемента "img" области.
  • В версии Firefox для Android проведена работа по повышению стабильности, плавности и отзывчивости при навигации.

  1. OpenNews: Релиз Firefox 149 с VPN и режимом разделения экрана
  2. OpenNews: До 10% аварийных завершений Firefox вызваны аппаратными проблемами с памятью
  3. OpenNews: Макеты обновлённого интерфейса Firefox, развиваемого под кодовым именем Nova
  4. OpenNews: Anthropic анонсировал AI-модель Claude Mythos, умеющую создавать рабочие эксплоиты
  5. OpenNews: GNOME и Firefox намерены отключить по умолчанию вставку средней кнопкой мыши
Обсуждение (219 +60) | Тип: Программы |
·21.04.2026 Выпуск системы управления исходными текстами Git 2.54 (124 +14)
  Представлен релиз распределенной системы управления исходными текстами Git 2.54. Git отличается высокой производительностью и предоставляет средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям "задним числом" используются неявное хеширование всей предыдущей истории в каждом коммите, а также удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Код Git распространяется под лицензией GPLv2+.

По сравнению с прошлым выпуском в новую версию принято 770 изменений, подготовленных при участии 137 разработчиков (66 впервые приняли участие в разработке Git). Основные новшества:

  • Реализована команда "git history", предоставляющая экспериментальные возможности для перезаписи истории изменений, более простые и безопасные в использовании, чем перебазирование коммитов командой "git rebase". Предоставляются две операции:
    • "git history reword <commit>" для перезаписи сообщения в указанном коммите без изменения рабочего дерева и индекса (кроме примечания, остальное остаётся нетронутым). Например, для исправления опечатки.
    • "git history split <commit>" для интерактивного разделения указанного коммита на два разных коммита с перемещением выбранных частей из исходного коммита в дополнительный коммит.

    В будущих выпусках ожидается добавление дополнительных команд: "git history fixup" для исправления коммита, "git history drop" для удаления коммита, "git history reorder" для изменения порядка следования коммитов и "git history squash" для объединения коммитов.

  • Реализован новый метод определения обработчиков (hook) в файлах конфигурации. Вместо размещения скриптов с обработчиками в каталоге ".git/hooks" в каждом репозитории, команды для вызова обработчиков теперь можно задавать непосредственно в файлах конфигурации. Настройки можно привязывать к репозиторию или указывать в файлах конфигурации, действующих для всех репозиториев (/etc/gitconfig) или репозиториев пользователя (~/.gitconfig). Возможна привязка нескольких обработчиков к одному событию. Скрипты из ".git/hooks" по-прежнему продолжают вызываться, но запускаются после обработчиков из файлов кофигурации. Для просмотра списка обработчиков следует использовать команду "git hook list", а для выборочного отключения вызова обработчиков - настройку "hook.<name>.enabled = false".
    
       [hook "linter"]
          event = pre-commit
          command = ~/bin/linter --cpp20 
    
       [hook "no-leaks"]
          event = pre-commit
          command = ~/bin/leak-detector
    
       $ git hook list pre-commit
       global    linter  ~/bin/linter --cpp20
        local    no-leaks    ~/bin/leak-detector 
    
    
  • В команде "git maintenance" по умолчанию задействована стратегия "geometric" ("git config set maintenance.strategy geometric"), позволяющая сократить время обслуживания крупных монорепозиториев. По сравнению с ранее применяемой стратегией, использующей логику как в команде "git gc", новая стратегия избегает переупаковки всех объектов и исключает излишне ресурсоёмкие операции, такие как слияние всех pack-файлов (по возможности объединение производится частями и без чистки удалённых объектов).
  • База данных объектов (ODB) и связанные с ней API переведены на новую архитектуру, основанную на использовании подключаемых бэкендов. Проведённая реструктуризация абстрагирует формат хранения объектов и в дальнейшем позволит реализовать такие возможности, как альтернативные бэкенды и форматы объектов, например, для более эффективного хранения крупных бинарных файлов или для оптимизации работы крупных git-хостингов.
  • В команде "git repo structure", выводящей сведения о структуре репозитория, обеспечено отображение не только общего размера, но и показа самых крупных объектов каждого типа, что позволяет обойтись при оценке размера без использования сторонней утилиты git-sizer.
    
       $ git repo structure
       ...
       | * Largest objects         |             |
       |   * Commits               |             |
       |     * Maximum size    [1] |   17.23 KiB |
       |     * Maximum parents [2] |      10     |
       |   * Trees                 |             |
       |     * Maximum size    [3] |   58.85 KiB |
       |     * Maximum entries [4] |    1.18 k   |
       |   * Blobs                 |             |
       |     * Maximum size    [5] | 1019.51 KiB |
       |   * Tags                  |             |
       |     * Maximum size    [6] |    7.13 KiB |
    
  • В команде "git replay", применяемой вместо "git rebase" для воссоздания истории на сервере без рабочего дерева, включено по умолчанию атомарное обновление ссылок (вместо вывода списка команд update-ref для ручного выполнения), реализована опция "--revert" для отмены изменений от серии коммитов, обеспечено отбрасывание результирующих пустых коммитов и появилась возможность воссоздания истории вплоть до корневого коммита.
  • В "git rev-list" и похожие команды добавлена опция "--maximal-only" для показа только коммитов, недостижимых другими коммитами.
  • В команду "git repo info" добавлена опция "--keys" для вывода списка всех известных ключей.
  • В команде "git add -p" при навигации между блоками кода при помощи клавиш "J" и "K" обеспечена пометка уже одобренных и пропущенных блоков. Добавлена опция "--no-auto-advance" для отключения автоматического перехода к следующему файлу, чтобы иметь возможность вернуться к прошлым файлам перед коммитом.
  • Проведена оптимизация web-интерфейса "gitweb" для работы с мобильных устройств.
  • В команде "git apply --directory" перед использованием обеспечена нормализация файловых путей, таких как "./un/../normalized/path".
  • Документирована возможность добавления собственных подкоманд через размещение файлов "git-<cmd>" в каталоге с исполняемыми файлами.
  • В команду "git send-email" добавлена поддержка клиентских сертификатов.
  • Для команды "git status" реализована настройка "status.compareBranches", через которую можно указать ветки, с которыми будет производиться сравнение текущей ветки.
    
    [status]
       compareBranches = @{upstream} @{push}
    
  • В "git rebase" добавлена опция "--trailer" для упрощения добавления метаданных ко всем коммитам.
    
       git rebase --trailer "Reviewed-by: Test <[email protected]>"
    
  • В команду "git fast-import" добавлена возможность замены подписей для коммитов, которые стали невалидны после импорта.
  • Добавлена поддержка упаковки (compaction) многопакетных индексов MIDX (multi-pack index), при которой между собой объединяются мелкие слои MIDX-индекса c информацией о доступности объектов и связанные с ними bitmap-файлы, что позволяет уменьшить число накопившихся слоёв в давно существующих репозиториях.
  • В команде "git backfill" реализована возможность указания ревизий (диапазонов коммитов) и масок путей (pathspec) для ограничения загружаемых частей истории изменений.
    
       git backfill main~100..main
       git backfill -- '*.c'
    
  • Добавлены альтернативные формы вызова команды "git config list" - "git config -l" и "git config --list".
  • Разрешено использование не-ASCII символов в именах псевдонимов команд, задаваемых в файле конфигурации.
    
       [alias "получить"]
           command = fetch
    
  • Изменено отображение подписей, у которых истёк срок действия GPG-ключей, но которые были валидны на момент подписания коммита. Подобные подписи теперь отображаются как корректные с примечанием об устаревании ключа (ранее они подсвечивались красным цветом, что создавало впечатление об их некорректности).
  • При обращении к репозиториям по HTTP обеспечена обработка ошибки с кодом 429 (Too Many Requests). Завершившиеся подобной ошибкой запросы теперь рассматриваются не как фатальная проблема, а как временная ошибка, для которой через какое-время следует повторить операцию. Задержка перед повтором задаётся через опцию "http.retryAfter", число повторов - "http.maxRetries", время ожидания - "http.maxRetryTime".

  1. OpenNews: Выпуск системы управления исходными текстами Git 2.53
  2. OpenNews: Утечка в Git-репозитории конфиденциальных данных, накопленных AI-ассистентами
  3. OpenNews: В Git 3.0 предложено сделать Rust обязательной частью сборочной инфраструктуры
  4. OpenNews: Уязвимости в Git, допускающие выполнение кода при обращении к внешнему репозиторию
  5. OpenNews: Доступна децентрализованная система отслеживания ошибок git-bug 0.9
Обсуждение (124 +14) | Тип: Программы |
·20.04.2026 SDL запретил приём кода от AI. Созданы форки Vim, избавленные от AI-изменений (217 +55)
  Разработчики библиотеки SDL (Simple DirectMedia Layer) приняли правила, запрещающие приём изменений, содержащих код, сгенерированный большими языковыми моделями, такими как ChatGPT, Claude, Copilot и Grok. При этом разрешено использование AI для выявления проблем и анализа передаваемых изменений, но исправления подобных проблем должны создаваться людьми.

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

В качестве причин запрета разработки с использованием AI называется несовместимость создаваемого через AI кода с лицензией Zlib из-за невозможности точно определить источник кода, а также возможные лицензионные конфликты из-за косвенного заимствования кода из проектов под другими лицензиями (так как большая языковая модель обучена на коде под различными лицензиями, генерируемый код потенциально может трактоваться как производная работа).

Дополнительно можно упомянуть создание двух форков текстового редактора Vim, созданных из-за недовольства участившегося применения AI при подготовке изменений:

  • Vim Classic - форк кодовой базы Vim 8.2, продолжающий сопровождение прошлой ветки. Проект основал Дрю ДеВолт (Drew DeVault), автор пользовательского окружения Sway, почтового клиента Aerc, языка программирования Hare и платформы совместной разработки SourceHut. В качестве причин создания форка указано непринятие политики Vim в отношении использования AI, желание сохранить чистую совесть и продолжить получать удовольствие от работы с Vim.
  • EVi - форк ветки Vim 9.1.0, в которой ещё не принимались изменения, созданные при помощи AI.

  1. OpenNews: Релиз мультимедийной библиотеки SDL 3.4.0
  2. OpenNews: Проект Gentoo запретил принятие изменений, подготовленных при помощи AI-инструментов
  3. OpenNews: В NetBSD введён запрет на использование кода, сгенерированного AI-системами
  4. OpenNews: Выпуск Cloud Hypervisor 48.0 с запретом принятия кода, сгенерированного AI
  5. OpenNews: Проект GNOME запретил использование AI для генерации дополнений к GNOME Shell
Обсуждение (217 +55) | Тип: К сведению |
·20.04.2026 В Arch Linux обеспечена воспроизводимая сборка образов контейнеров (20 +20)
  Дистрибутив Arch Linux обеспечил воспроизводимую сборку образов контейнеров, позволяющую убедиться, что поставляемые в образе бинарные файлы собраны из предоставляемого исходного кода и не содержат скрытых изменений. Воспроизводимые образы Arch Linux размещены в Docker Hub с тегом repro. Любой желающий может собрать из исходного кода образ контейнера бит в бит совпадающий с распространяемыми проектом готовыми образами, и убедиться, что сборочная инфраструктура дистрибутива, компилятор и сборочный инструментарий не скомпрометированы.

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

Воспроизводимые образы поставляются отдельно так как для обеспечения полной воспроизводимости в их состав не включены ключи для пакетного менеджера pacman. При необходимости обновления или установки пакетов через pacman в данных образах требуется запуск команды для пересоздания хранилища ключей ("pacman-key --init && pacman-key --populate archlinux"). Для проверки идентичности собственной сборки с распространяемым через Docker Hub образом можно сравнить хэши, выдаваемые командой "podman inspect --format '{{.Digest}}' <image>", или воспользоваться утилитой diffoci.

  1. OpenNews: Во FreeBSD обеспечена поддержка воспроизводимых сборок и сборки без прав root
  2. OpenNews: В NetBSD обеспечена поддержка повторяемых сборок
  3. OpenNews: В NixOS обеспечена поддержка повторяемых сборок для iso-образа
  4. OpenNews: openSUSE тестирует поддержку повторяемых сборок
  5. OpenNews: В Live-образах Debian 12 реализована поддержка повторяемых сборок
Обсуждение (20 +20) | Тип: К сведению |
·20.04.2026 Опубликована среда рабочего стола LXQt 2.4.0 (171 +33)
  После 6 месяцев разработки представлен релиз среды рабочего стола LXQt 2.4.0 (Qt Lightweight Desktop Environment), продолжающей развитие проектов LXDE и Razor-qt. Интерфейс LXQt следует идеям классической организации рабочего стола, но привносит современное оформление и приёмы, увеличивающие удобство работы. LXQt позиционируется как легковесное, модульное, быстрое и удобное окружение, вобравшее лучшие черты LXDE и Razor-qt. Код размещён на GitHub и поставляется под лицензиями GPL 2.0+ и LGPL 2.1+. Появление готовых сборок ожидается для Ubuntu (LXQt по умолчанию предлагается в Lubuntu), Arch Linux, Fedora, openSUSE, Mageia, FreeBSD, ROSA и ALT Linux.

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

  • В диалоге сохранения файлов в поле "Имя файла" теперь выделяется не всё содержимое, а только имя файла без расширения, что позволяет сразу изменить имя без перемещения курсора или перевыделения области.
  • В конфигурациях на базе Wayland обеспечено применение и сохранение настроек скрытия элементов на рабочем столе ("Hide Desktop Items") по отдельности для каждого монитора.
  • В LXQt-Powermanagement реализованы раздельные таймауты перевода монитора в спящий режим для автономной работы и для работы от стационарного источника энергии.
  • Переделан панельный плагин изменения громкости, в котором вертикальные ползунки заменены на горизонтальные и показаны все доступные устройства вывода звука. Добавлена поддержка изменения громкости устройства по умолчанию при помощи колеса мыши или прокрутки тачпадом.
  • В LXQt Sessions разделены настройки сеансов на баз X11 и Wayland. Настройки Wayland показываются только при установке пакета lxqt-wayland-session.
  • В сеансах на базе Wayland реализована возможность вызова главного меню комбинацией клавиш, привязанной в настройках к выполнению команды "lxqt-qdbus openmenu".
  • В LXQt Runner для запуска встроенного калькулятора теперь достаточно начать ввод с цифры, а не только со знака "=".
  • В режиме "не беспокоить" прекращено сохранение в истории временных уведомлений, таких как информация о начале воспроизведения следующей музыкальной композиции.
  • В бэкенд xdg-desktop-portal-lxqt, реализующий порталы Freedesktop, добавлен новый портал org.freedesktop.impl.portal.Access для запроса подтверждения доступа к системным ресурсам, например, обращения к микрофону или камере.
  • В эмуляторе терминала QTerminal обеспечено выделение всех совпадений при поиске и улучшена подсветка кода.
  • Добавлена переменная окружения XDG_STATE_HOME, определяющая путь к каталогу для файлов с состоянием (.local/state).

  1. OpenNews: Опубликована среда рабочего стола LXQt 2.3.0
  2. OpenNews: Доступна среда рабочего стола LXQt 2.0.0
  3. OpenNews: Опубликован план перевода LXQt на Qt6 и Wayland
Обсуждение (171 +33) | Тип: Программы |
Следующая страница (раньше) >>



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

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