home tags events about login

opennet honked 01 Jun 2025 10:00 +0200

Инцидент с подменой коммитов в ветке ядра Linux от Кеса Кука

Линус Торвальдс потребовал от администратора kernel.org немедленно заблокировать учётную запись Кеса Кука, бывшего главного сисадмина kernel.org и лидера Ubuntu Security Team, сопровождающего в ядре 14 подсистем, связанных с безопасностью. Константин Рябцев, отвечающий на работу инфраструктуры kernel.org выполнил блокировку. Поводом для блокировки послужил pull-запрос на включение в ветку ядра 6.16 изменений, ссылающийся на git-репозиторий, в котором была изменена информация об авторстве некоторых коммитов.

В поддерживаемом Кесом git-репозитории присутствовали фиктивные изменения, в поле автора и коммитера в которых был указан "Linus Torvalds", но Линус их не добавлял. Например, под именем Линуса в ветке Кеса имелся коммит, который повторял другой коммит в ветке Линуса, но с другим хэшем SHA1. Оба коммита выглядят одинаково, за исключением информации о подписи.

Изменения не походили на случайную ошибку при выполнении операции "git rebase", так как содержали неверную информацию об авторе коммита. Линус Торвальдс посчитал это следами потенциально вредоносной активности и инициировал блокировку приёма любых изменений от Кеса, до выяснения причин подобных манипуляций и подтверждения, что система Кеса не была скомпрометирована.

Кес ответил, что не понимает, как такое могло произойти. До этого он столкнулся с проблемами при попытке объединения нескольких своих git-веток, после чего попытался решить их операцией "git rebase", но похоже это не помогло. Всё это происходило на фоне сбоя SSD-накопителя, выдававшего ошибки во время копирования. Кес считал, что после сбоя ему удалось восстановить состояние своих репозиториев, но судя по всему это не так. Для восстановления целостности Кес намерен пересоздать свои ветки из отдельных патчей. В качестве наиболее вероятной причины возникшей подмены автора Кес считает неудачную попытку восстановления репозитория после его повреждения.

Линуса не устроило такое объяснение, так как, по его мнению, изменения истории коммитов в репозитории Кеса очень похожи на преднамеренные действия, а не на случайный сбой. Перебазирование истории изменений операцией "git rebase" могло объяснить перезапись коммитера, но Линус не может понять, как подобная операция "git rebase" могла быть совершена по ошибке.

Перезапись одного или двух коммитов ещё можно было списать на ошибку, но в репозитории Кеса были перезаписаны более шести тысяч merge-коммитов, из которых в 330 автором был выставлен Линус, при том, что данные коммиты не были получены из git-дерева Линуса. Совершённые изменения больше напоминают работу скрипта, чем результат повреждения информации на накопителе, так как они требуют отдельного пересоздания копии каждого коммита.

Кес уверил Линуса, что не делал этого специально и не стал был проводить подобные эксперименты без предупреждения (например, прошлый эксперимент по вызову коллизий коммитов был согласован с Линусом). На этой неделе он производил несколько ручных операций с репозиторием и теперь попытается разобраться что пошло не так и воспроизвести проблему. Например, Кес выполнял операцию rebase для git-деревьев for-next/hardening и for-linus/hardening, используя в отличие от прошлых подобных преобразований ветку "master", а не rc2. В ходе данной операции он вносил изменения в скрипты для проверки push-запросов.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63336

opennet honked 31 May 2025 22:00 +0200

Выпуск СУБД SQLite 3.50

Опубликован релиз SQLite 3.50, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум.

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

  • Добавлены новые SQL-функции unistr() и unistr_quote() для замены экранированных последовательностей (\uXXXX) в unicode-символы и наоборот.
  • В интерфейсе командной строки отключён прямой вывод управляющих символов. В выводе команды ".dump" обеспечено преобразование cпецсимволов при помощи функции unistr(). Улучшено форматирование частичных индексов в выводе команды ".schema --indent".
  • В sqlite3_rsync, утилите для копирования БД между системами, протокол синхронизации оптимизирован для снижения трафика при переносе похожих БД. Реализована возможность синхронизации БД без включения режима WAL (Write-Ahead Logging).
  • Оптимизирована работа функций jsonb_set() и jsonb_replace() при изменении больших JSON-объектов.
  • Улучшена поддержка сборки с использованием Cygwin, MinGW и Termux.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63334

opennet honked 31 May 2025 10:00 +0200

Выпуск системы шифрования дисковых разделов VeraCrypt 1.26.24

Опубликован выпуск проекта VeraCrypt 1.26.24, развивающего форк системы шифрования дисковых разделов TrueCrypt, прекратившей своё существование. VeraCrypt примечателен заменой используемого в TrueCrypt алгоритма RIPEMD-160 на SHA-512 и SHA-256, увеличением числа итераций хэширования, упрощением процесса сборки для Linux и macOS, устранением проблем, выявленных в процессе аудита исходных текстов TrueCrypt. Разработанный проектом VeraCrypt код распространяется под лицензией Apache 2.0, а заимствования из TrueCrypt продолжают поставляться под лицензией TrueCrypt License 3.0. Готовые сборки формируются для Linux, FreeBSD, Windows и macOS.

Среди изменений в новой версии:

  • Добавлена возможность распространения в пакетах в формате AppImage.
  • Улучшены установочные скрипты для Linux.
  • Добавлена поддержка использования /run/media/veracrypt в качестве базовой точки монтирования по умолчанию, если в системе отсутствует каталог /media.
  • Из числа зависимостей к rpm- и deb-пакетам исключена прослойка pcsclite, которая теперь проверяется и загружается динамически.
  • Добавлена документация в формате CHM на русском и китайском языках.
  • Пункт меню "Dismount All" переименован в "Unmount All". Добавлена комбинация клавиш ALT+u для отмонтирования.
  • Налажена работа хэш-функции Whirlpool на системах порядком следования байтов big-endian.
  • Для платформы Windows реализована и включена по умолчанию защита от создания скриншотов и скринкастов (отключить можно в настройках Performance/Driver Configuration или в MSI-инсталляторе).


Источник: https://www.opennet.ru/opennews/art.shtml?num=63332

opennet honked 31 May 2025 09:00 +0200

Опубликованы репозитории CentOS и тестовые сборки RHEL 10 для RISC-V

Проект CentOS объявил о подготовке git-репозиториев с изменениями, необходимыми для сборки и выполнения дистрибутива на системах с процессорами RISC-V. Специфичные для RISC-V изменения доступны в git-репозиториях проекта в ветках "c10s-rv". В ближайшее время подготовленные изменения будут перенесены из отдельных репозиториев в основной состав CentOS Stream, что позволит сформировать штатные сборки CentOS Stream для RISC-V.

Тем временем, компания Red Hat, как и обещала в анонсе релиза Red Hat Enterprise Linux 10, опубликовала готовую к использованию тестовую сборку RHEL 10 для RISC-V-платформы SiFive HiFive Premier P550. Кроме того опубликован архив (12.3 ГБ) исходных текстов пакетов, задействованных в данной сборке. Данные доступны для зарегистрированных пользователей Red Hat Customer Portal.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63331

opennet honked 30 May 2025 23:00 +0200

AMD перевёл набор Linux-драйверов Radeon на открытые драйверы OpenGL и Vulkan

Компания AMD опубликовала выпуск набора драйверов AMD Radeon 25.10.1 для Linux (Radeon Software for Linux), работающего поверх модуля AMDGPU, развиваемого в основном составе ядра Linux. Выпуск примечателен реализацией официальной поддержки открытых драйверов RADV и RadeonSI для графических API Vulkan и OpenGL, поставляемых проектом Mesa. Ранее предлагаемые пропритетарные драйверы для Vulkan и OpenGL исключены из набора.

Из состава также исключён фреймворк AMF (Advanced Media Framework), предлагающий аппаратно ускоренные кодировщики и декодировщики видео. Вместо AMF для ускорения кодирования и декодирования видео предложено использовать программный интерфейс VA-API (Video Acceleration API) в связке с Mesa.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63329

opennet honked 30 May 2025 22:00 +0200

Релиз минималистичного дистрибутива Alpine Linux 3.22

Доступен релиз Alpine Linux 3.22, минималистичного дистрибутива, построенного на базе системной библиотеки Musl и набора утилит BusyBox. Дистрибутив отличается повышенными требованиями к обеспечению безопасности и собран с защитой SSP (Stack Smashing Protection). В качестве системы инициализации используется OpenRC, для управления пакетами применяется собственный пакетный менеджер apk. Alpine применяется для формирования официальных образов контейнеров Docker и используется в проекте PostmarketOS. Загрузочные iso-образы (x86_64, x86, armhf, aarch64, armv7, ppc64le, s390x, riscv64 и loongarch64) подготовлены в шести вариантах: стандартном (240 МБ), загружаемом по сети (268 МБ), расширенном (1 ГБ), для виртуальных машин (64 MB) и для гипервизора Xen (1 ГБ).

В новом выпуске:

  • Предложены пакеты с новыми версиями графических окружений GNOME 48, KDE Plasma 6.3 и LXQt 2.2. Удалён сеанс X11 для KDE, оставлена только поддержка Wayland.
  • Обновлены версии пакетов, например, доступны выпуски ядра Linux 6.12, GCC 14.2.0, LLVM 20, busybox 1.37.0, ISC BIND 9.20, nginx 1.28, Dovecot 2.4, Node.js 22.16, Ruby 3.4, Rust 1.87, Xen 4.20, Crystal 1.16, Docker 28, Go 1.24, PHP 8.4, BIRD 3, Qt 6.8, wlroots 0.18.
  • Вместо загрузчика gummiboot задействован systemd-efistub (только данный компонент, а не весь systemd).
  • Проведена подготовка к переходу на пакетный менеджер apk 3 в следующем выпуске.
  • Шрифт для GTK-приложений заменён на adwaita, который задействован по умолчанию в GNOME 48.
  • После сворачивания проекта Mozilla Location Service, сервисы определения местоположения переведены на использование БД BeaconDB с информацией о размещении известных точек беспроводного доступа.
  • Инструментарий управления контейнерами LXD перемещён из основного репозитория в тестовый. В основном репозитории вместо LXD задействован его форк Incus.
  • Из репозиториев удалён Qt 5, поддержка данной ветки прекращена.

    Источник: https://www.opennet.ru/opennews/art.shtml?num=63330

opennet honked 30 May 2025 13:00 +0200

Уязвимости в apport и systemd-coredump, позволяющие извлечь хэши паролей пользователей системы

Компания Qualys выявила две уязвимости в инструментах apport (CVE-2025-5054) и systemd-coredump (CVE-2025-4598), применяемых для обработки core-файлов, генерируемых после аварийного завершения процессов. Уязвимости позволяют получить доступ к core-файлам, сохранённым после аварийного завершения suid-приложений или некоторых системных фоновых процессов, в памяти которых могут содержаться прокэшированные учётные данные или ключи шифрования. Утилита apport автоматически вызывается для сохранения core-дампов в Ubuntu, а systemd-coredump в Red Hat Enterprise Linux 9+, Fedora и многих других дистрибутивах Linux.

Продемонстрирована техника атаки, в ходе которой создавались условия для аварийного завершения suid-приложения unix_chkpwd и получения доступа к core-файлу с дампом состояния во время краха. В сохранённом core-дампе присутствовали хэши паролей пользователей системы, остававшиеся в памяти аварийно завершившегося процесса после загрузки содержимого /etc/shadow. Возможность эксплуатации уязвимостей продемонстрирована в Ubuntu 24.04 и Fedora 40/41, но предполагается, что и другие дистрибутивы подвержены подобным атакам.

Обе уязвимости вызваны состоянием гонки, позволяющем подменить аварийно завершившийся suid-процесс на другой процесс в момент после начала обработки ядром аварийного завершения, но до проверки обработчиком в пространстве пользователя параметров процесса через /proc/pid/files. Вызов apport и systemd-coredump осуществляется следующим образом: ядро, получив информацию об аварийном завершении процесса, вызывает обработчик, указанный в файле /proc/sys/kernel/core_pattern, после чего передаёт ему содержимое core-дампа через входной поток.

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

Атака на apport сводится к следующим шагам:

  • Ответвляется новый процесс и вызывается функция execve() для запуска suid-программы, такой как unix_chkpwd.
  • Пропускается время, необходимое для загрузку suid-программой конфиденциальных данных в память (в случае unix_chkpwd ожидается загрузка хэшей паролей всех пользователей системы из файла /etc/shadow).
  • До окончания выполнения команды процессу отправляется сигнал SIGSEGV или SIGSYS для аварийного завершения.
  • В ответ на аварийное завершение ядро формирует core-дамп и запускает процесс apport для обработки core-дампа в пространстве пользователя.
  • После запуска apport, но до начала разбора аварийно завершившемуся процессу отправляется сигнал SIGKILL, а сам процесс заменяется на другой без флага suid. Для обхода проверок в apport новый процесс создаётся внутри отдельных пространств имён (user, pid и mount namespace).
  • apport подключается к unix-сокету /run/apport.socket в созданном для нового процесса пространстве имён точек монтирования и отправляет файловый дескриптор для доступа к core-дампу.

Чтобы получить для нового процесса нужный идентификатор, совпадающий с идентификатором suid-процесса, до отправки сигнала SIGSEGV suid-процесс останавливается сигналом SIGSTOP и во время остановки циклично запускаются новые процессы, пока не будет получен PID с предшествующим номером, близким к подменяемому suid-процессу. После сдвига нумерации PID suid-процессу отправляются сигналы SIGSEGV и SIGCONT, после чего отправляется SIGKILL и циклично запускаются новые процессы для достижения того же PID, что и у suid-процесса.

Что касается systemd-coredump, то с одной стороны проведение атаки на него проще, так как нет необходимости заменять suid-процесс на процесс в отдельном пространстве пользователя и достаточно добиться совпадения AT_UID и AT_EUID. С другой стороны systemd-coredump написан на языке Си и запускается достаточно быстро, что даёт меньше времени для подмены, в отличие от apport, который написан на Python и в процессе инициализации грузит различные pyc-файлы. Подобная проблема решается искусственным замедлением systemd-coredump - при вызове suid-файла передаётся очень большое число аргументов командной строки, что создаёт нужную задержку, возникающую во время разбора /proc/pid/cmdline.

В процессе анализа уязвимостей исследователи также выявили, что systemd-coredump при настройке вызова не указывает в /proc/sys/kernel/core_pattern флаг "%d", что позволяет атакующему вызвать аварийное завершение фоновых процессов, выполняемых с правами root и ответвляющих другие процессы с изменением идентификатора пользователя на непривилегированного пользователя под которым совершается атака. Подобная возможность позволяет совершить атаку не только на setuid-приложения, но и на такие процессы, как sshd-session (OpenSSH), sd-pam (systemd) и cron, для получения осевших в их памяти конфиденциальных данных, таких как закрытые ключи, хэши паролей из /etc/shadow, канареечные метки из стека и данные для обхода рандомизации адресного пространства (ASLR).

Проследить за публикацией обновлений пакетов в дистрибутивах можно на страницах: Debian, Ubuntu, RHEL, openSUSE, Fedora, Gentoo, Arch. В качестве обходного пути блокирования уязвимостей предлагается отключить сохранение core-дампов для suid-программ и сбрасывающих привилегии процессов, выставив параметр /proc/sys/fs/suid_dumpable в значение 0. Для полноценного устранения проблемы требуется внесение изменений в ядро Linux, реализующее возможность передачи информации об аварийно завершившемся процессе через механизм pidfd (pidfd связывается с конкретными процессами и в отличие от pid повторно не назначается).

Источник: https://www.opennet.ru/opennews/art.shtml?num=63328

opennet honked 30 May 2025 10:00 +0200

Выпуск проприетарного драйвера NVIDIA 575.57

Компания NVIDIA опубликовала стабильный выпуск новой ветки проприетарного драйвера NVIDIA 575.57. Драйвер доступен для Linux (ARM64, x86_64), FreeBSD (x86_64) и Solaris (x86_64). NVIDIA 575.x стала десятой стабильной веткой после открытия компанией NVIDIA компонентов, работающих на уровне ядра. Исходные тексты модулей ядра nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko и nvidia-uvm.ko (Unified Video Memory) из новой ветки NVIDIA, а также используемые в них общие компоненты, не привязанные к операционной системе, размещены на GitHub. Прошивки и используемые в пространстве пользователя библиотеки, такие как стеки CUDA, OpenGL и Vulkan, остаются проприетарными.

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

  • В модуль ядра nvidia-modeset добавлен параметр 'conceal_vrr_caps', обеспечивающий включение возможностей, таких как ULMB (Ultra Low Motion Blur), несовместимых с VRR (адаптивное изменение частоты обновления монитора).
  • Добавлена поддержка AI-технологии NVIDIA Smooth Motion, позволяющей повысить плавность отрисовки в играх за счёт подстановки дополнительного кадра между двумя отрисованными кадрами.
  • В фоновый процесс nvidia-powerd добавлена возможность использования во время работы ноутбука от аккумулятора механизма Dynamic Boost, позволяющего балансировать энергопотребление между CPU и GPU для повышения производительности.
  • Для Xwayland реализована поддержка отрисовки в буфер отображения (front buffer) с использованием GLX. Устранена ошибка, из-за которой возникало аварийное завершение игры Minecraft при использовании Xwayland.
  • Разрешено использовать переменную окружения __NV_DISABLE_EXPLICIT_SYNC не только с EGL-приложениями, но и для приложений, использующих GLX и Vulkan.
  • Улучшена поддержка Wayland. Решена проблема с зависанием приложений, использующих расширение VK_KHR_present_wait. Устранено зависание на некоторых системах, проявляющееся при включении ночного режима в GNOME.
  • Устранена проблема, приводившая к некорректной отрисовке в графических приложениях после выхода из спящего режима на системах с драйвером nvidia.ko, загруженным с опцией "NVreg_PreserveVideoMemoryAllocations=1".
  • Решена проблема с увеличением потребления памяти после выхода из спящего режима, проявляющаяся в приложениях, использующих X11 и OpenGL/Vulkan.
  • Решена проблема с аварийным завершением приложений, использующих KDE Frameworks 6 и выносящих некоторые операции отрисовки на сторону GPU (render-offload).
  • Добавлена поддержка DRM-свойств (Direct Rendering Manager) COLOR_ENCODING и COLOR_RANGE.
  • Прекращена поддержка DRM-расширений NV_PLANE_BLEND_CTM, NV_PLANE_DEGAMMA_TF, NV_PLANE_DEGAMMA_LUT, NV_PLANE_DEGAMMA_LUT_SIZE, и NV_PLANE_DEGAMMA_MULTIPLIER на системах с ядрами Linux до версии 6.8.

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=63327

opennet honked 29 May 2025 13:00 +0200

Дистрибутив openSUSE опубликовал альтернативный инсталлятор Agama 15

Разработчики проекта openSUSE представили инсталлятор Agama 15, разрабатываемый для замены классического интерфейса установки SUSE и openSUSE, и примечательный отделением пользовательского интерфейса от внутренних компонентов YaST. Agama поддерживает использование различных фронтэндов, например, фронтэнда для управления установкой через web-интерфейс. Код компонентов инсталлятора распространяется под лицензией GPLv2 и написан на языках Ruby, Rust и JavaScript/TypeScript.

Для тестирования нового инсталлятора сформированы live-сборки для архитектур x86_64, ppc64le, s390x и ARM64. В сборках доступны для установки бета-версия openSUSE Leap 16, непрерывно обновляемые сборки openSUSE Tumbleweed и openSUSE Slowroll, а также редакция MicroOS на базе контейнеров. Инсталлятор будет поставляться в составе openSUSE Leap 16 (доступна альфа-версия) и SUSE Linux Enterprise Server 16 (бета-выпуск ожидается в мае).

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

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

Базовый интерфейс для управления установкой построен с использованием web-технологий. Web-интерфейс написан на JavaScript с использованием фреймворка React и компонентов PatternFly. Сервис для обмена сообщениями, а также встроенный http-сервер, написанный на языке Ruby.

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

  • Унифицирован интерфейс для настройки языка, раскладки клавиатуры и часового пояса. Ранее настройки локализации отдельно предоставлялись для интерфейса инсталлятора и для устанавливаемого дистрибутива, что вводило пользователей в заблуждение.
  • Переделан интерфейс для настройки подключения к беспроводной сети.
  • В интерфейсе разбивки дисковых разделов проведена реорганизация контекстных меню и добавлены дополнительные пояснения.
  • Предоставлена возможность использования web-интерфейса для регистрации расширений.
  • Улучшен режим автоматизированной установки.
    • Предоставлена возможность интерактивной настройки параметров iSCSI и DASD при автоматизированной установке.
    • Улучшен поиск накопителей и дисковых разделов на целевой системе, а также их сопоставление с имеющимися сценариями автоматизированной установки.
    • Добавлено новое свойство mdRaids для создания MD RAID-массивов при автоматизированной установке.
    • В настройки загрузчика добавлены опции для управления таймаутом показа загрузочного меню и передачи ядру дополнительных параметров.
    • В настройки сети добавлена возможность создания сетевых интерфейсов в режиме сетевого моста.
    • В настройках AutoYaST разрешено указание относительных путей в URL.
  • В интерфейсе командной строки реализована команда "agama monitor" для отслеживания процесса установки на другой системе.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63326

opennet honked 29 May 2025 12:00 +0200

Уязвимости в пакетах с Kea DHCP и cyrus-imapd, позволяющие повысить привилегии в системе

В применяемых различными дистрибутивами конфигурациях DHCP-сервера Kea, развиваемого консорциумом ISC в качестве замены классического ISC DHCP, выявлены уязвимости, в некоторых ситуациях позволяющие локальному пользователю выполнить код с правами root или перезаписать любой файл в системе:
  • CVE-2025-32801 - позволяет локальному пользователю получить root-привилегии в системах, в которых Kea запускается под пользователем root, или получить полный контроль над сервером Kea в системах, запускающих Kea под пользователем с урезанными привилегиями. Атака осуществляется через обращение к REST API, предоставляемому сервисом kea-ctrl-agent и по умолчанию принимающему запросы через localhost:8000. В большинстве конфигураций REST API доступен для всех локальных пользователей системы без прохождения аутентификации.

    Эксплуатация осуществляется через отправку команды set-config, позволяющей управлять настройками всех сервисов Kea. Среди прочего команда может использоваться для изменения параметра "hooks-libraries", влияющего на загрузку дополнительных библиотек-обработчиков. Атакующий может добиться выполнения своего кода в контексте сервисов Kea через подстановку своей библиотеки, функция с атрибутом "constructor" из которой будет вызвана при открытии библиотеки функцией dlopen().

       curl -X POST -H "Content-Type: application/json" \
        -d '{ "command": "config-set", "arguments":
              { "Control-agent": {"hooks-libraries": [{"library": "/home/someuser/libexploit.so"}] }}}' \
        localhost:8000
    
  • CVE-2025-32802 - уязвимость даёт возможность использовать команду config-write в REST API для перезаписи любого файла в системе, насколько позволяют права пользователя, под которым выполняется Kea. Атакующий может контролировать записываемое содержимое, но данные записываются в формате JSON и должны включать корректные настройки Kea. Тем не менее, не исключается, что этого может быть достаточно для запуска команд с правами root через манипуляцию с файлами в каталоге /etc/profile.d.
       curl -X POST -H "Content-Type: application/json" \
        -d '{ "command": "config-write", "arguments": { "filename": "/etc/evil.conf" } }' \
        localhost:8000
    

    Отдельно упоминается несколько сценариев использования команды config-write для изменения настроек Kea. Например, можно перенаправить лог файлы в произвольное место файловой системы, организовать спуфинг управляющих UNIX-сокетов сервисов или блокировать работу Kea.

  • CVE-2025-32803 - логи (/var/log/kea*.log), а также файлы /var/lib/kea/*.cvs, содержащие информацию о привязке IP-адресов (DHCP lease) и сопутствующие данные, доступны всем на чтение.

Запуск Kea с правами root практикуется в дистрибутивах Arch Linux, Gentoo, openSUSE Tumbleweed (до 23 мая), FreeBSD, NetBSD и OpenBSD. В Debian, Ubuntu и Fedora сервис запускался под отдельным непривилегированным пользователем. В Gentoo пакет с Kea доступен только в unstable-репозитории для архитектуры amd64. В Ubuntu, в отличие от других систем, сервис kea-ctrl-agent запускался только в случае указания в настройках доступа к REST API по паролю. Проследить за публикацией обновлений пакетов в дистрибутивах можно на страницах: Debian, Ubuntu, RHEL, openSUSE, Fedora, Gentoo, ALT Linux, Arch, FreeBSD, OpenBSD и NetBSD.

Дополнительно можно отметить уязвимость (CVE-2025-23394), проявляющуюся в пакете с IMAP-сервером Cyrus, поставляемом проектом openSUSE в репозиториях Tumbleweed и Factory. Уязвимость даёт возможность локальному пользователю поднять привилегии с пользователя cyrus до root. Уязвимости присвоен критический уровень опасности (9.8 из 10), но он необоснованно завышен, так как для атаки требуется наличие прав cyrus, которые можно получить через эксплуатацию какой-то иной уязвимости в cyrus-imapd.

Проблема вызвана ошибкой при работе с символическими ссылками в скрипте daily-backup.sh, специфичном для дистрибутивов SUSE/openSUSE. Суть уязвимости в том, что скрипт daily-backup.sh запускается с правами root, но производит запись в каталог /var/lib/imap, в котором может создавать файлы непривилегированный пользователь cyrus. Атака сводится к созданию символической ссылки, указывающей на системный файл (например, можно создать символическую ссылку /var/lib/imap/mailboxes.txt, указывающую на /etc/shadow). Уязвимость устранена в версии пакета cyrus-imapd 3.8.4-2.1.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63324

opennet honked 28 May 2025 23:00 +0200

Выпуск web-браузера Chrome 137

Компания Google опубликовала релиз web-браузера Chrome 137. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 138 запланирован на 24 июня.

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

  • В сборки для Windows и macOS интегрирован чатбот Gemini, который может пояснять содержимое просматриваемой страницы и отвечать на связанные со страницей вопросы не переключаясь с текущей вкладки. Поддерживается текстовое и голосовое взаимодействие с Gemini. Работа с чатботом пока доступна только части пользователей из США, имеющих подписки Google AI Pro и Ultra.
  • По аналогии с ранее реализованным сегментированием хранилища, обеспечена изоляция обработки URL-схемы "blob:", предназначенной для доступа к локально сгенерированным данным через API Blob или File. При сегментировании к ключу, применяемому для извлечения объектов, прикрепляется отдельный признак, определяющий привязку к первичному домену, с которого открыта основная страница, что позволяет блокировать методы отслеживания перемещений пользователя между сайтами через манипуляцию с URL "blob:".
  • В режиме расширенной защиты браузера (Safe Browsing > Enhanced protection) активирована возможность использования большой языковой модели для определения мошеннических страниц по их содержимому. AI-модель выполняется на стороне клиента, но в случае выявления подозрений на сомнительный контент, выполняется дополнительная проверка на серверах Google. В текущей версии пока производится только сбор информации о проблемных страницах. В следующем выпуске планируется начать выводить предупреждения пользователю.
  • Включена защита от скрытой идентификации пользователей при помощи кэша HSTS (HTTP Strict Transport Security). HSTS позволяет сайтам при входе по HTTP перенаправить пользователя на HTTPS. В процессе работы имя хоста, выставленного через HSTS, сохраняется во внутреннем кэше, что позволяет использовать факт присутствия или отсутствия хоста в кэше для хранения одного бита информации. Для скрытого хранения 32-разрядного идентификатора пользователя можно использовать массив из 32 изображений, отдаваемых с разных хостов по HTTP (http://bit0.example.com/image.jpg, http://bit1.example.com/image.jpg и т.п.). Определение идентификатора производится путём проверки с каких хостов изображения загрузились по HTTPS, а с каких по HTTP (если изображения были отданы ранее по HTTP и через HSTS перенаправлены на HTTPS, то при последующих запросах они сразу будут загружены с HTTPS, минуя обращение по HTTP). Защита сводится к разрешению обновления HSTS только для ресурсов верхнего уровня и блокировке обновления HSTS в запросах субресурсов.
  • Для соединений WebRTC реализована поддержка протокола DTLS 1.3 (Datagram Transport Layer Security, аналог TLS для UDP). Поддержка DTLS 1.3 необходима для использования алгоритмов постквантового шифрования в WebRTC.
  • Удалена опция командной строки "--load-extension", позволяющая загружать дополнения. Опция убрана с целью снижения риска её использования для подстановки вредоносных дополнений. Для принудительной загрузки распакованных дополнений рекомендуется использовать кнопку Load Unpacked на странице управления дополнениями (chrome://extensions/) после включения режима для разработчика. В Chromium и тестовых сборках Chrome For Testing поддержка опции "--load-extension" сохранена.
  • Решено отказаться от автоматического отката на использование для WebGL системы программной отрисовки SwiftShader, реализующей API Vulkan. В случае отсутствия должного бэкенда на базе GPU создание контекста WebGL теперь будет возвращать ошибку, а не переключаться на SwiftShader. Прекращение использования SwiftShader позволит повысить безопасность, благодаря исключению выполнения сгенерированного JIT-компилятором кода в процессе, отвечающем за взаимодействие с GPU. Для возвращения использования SwiftShader предусмотрена отдельная опция командной строки "--enable-unsafe-swiftshader". В версии Chrome 137 для пользователей платформ Linux и macOS при использовании SwiftShader в web-консоль будет выводиться предупреждение, а в Chrome 138 откат на Swiftshader будет отключён. Для пользователей Windows система SwiftShader заменена на встроенную в Windows систему программной отрисовки WARP (Windows Advanced Rasterization Platform).
  • В настройки добавлена возможность включения функции "Autofill with AI", упрощающей заполнение web-форм. При включении браузер задействует AI-модель для понимания web-формы и автоматического заполнения полей, отталкиваясь от того, как ранее пользователь заполнял похожие формы.
  • В API Web Cryptography добавлена поддержка криптоалгоритмов на базе эллиптической кривой Curve25519, таких как алгоритм формирования цифровых подписей Ed25519.
  • Реализовано CSS-свойство "reading-flow", позволяющее управлять порядком обработки элементов во flex, grid и блочных контейнерах при использовании экранных ридеров и при последовательной навигации. Также добавлено свойство "reading-order", дающее возможность вручную переопределять порядок элементов.
  • В CSS предложена функция "if()", предназначенная для выбора значений в зависимости от результата выполнения условных выражений. В качестве аргумента передаётся разделённый точкой с запятой список пар "условие:значение". Функция перебирает эти пары и останавливается при первом сработавшем условии. Например: "background-color: if(style(--color: white): black; else: white);".
  • В CSS-свойстве offset-path реализована функция shape() для формирования фигур при помощи команд, эквивалентных функции path(), но позволяющих использовать для них стандартный синтаксис CSS.
  • Добавлен API JSPI (JavaScript Promise Integration), обеспечивающий интеграцию WebAssembly-приложений с JavaScript-объектом Promise и позволяющий WebAssembly-программам выступать в роли генератора Promise и взаимодействовать с API на базе Promise.
  • В API CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D и ImageData добавлена поддержка пиксельных форматов, использующих значения с плавающей запятой для представления составляющих цвета.
  • В режиме Origin trials предложены экспериментальные API Rewriter и Writer, позволяющие переделывать (например, более кратко излагать суть или менять стиль повествования) или генерировать текст при помощи больших языковых моделей.
  • В инструменты для web-разработчиков добавлена возможность привязки к рабочим пространствам, позволяющая сохранять в локальных файлах изменения, добавленные в JavaScript, HTML и CSS при работе со встроенными в браузер инструментами. Расширены возможности AI-ассистента, который может изменять CSS и анализировать производительность.

Кроме нововведений и исправления ошибок в новой версии устранены 1 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 8 премии на сумму 7500 долларов США (по одной премии в $4000, $2000, $1000 и $500). Размер четырёх вознаграждений пока не определён.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63315

opennet honked 28 May 2025 15:00 +0200

Выпуск оконного менеджера plwm 0.4, написанного на языке Пролог

Опубликован выпуск оконного менеджера plwm 0.4, развиваемого на языке Пролог и поддерживающего мозаичную (tiling) компоновку окон. В качестве целей проекта заявлено достижение высокого качества кодовой базы и документации, проста настройки под свои предпочтения и охват типовых потребностей пользователей мозаичных оконных менеджеров. Код проекта распространяется под лицензией MIT. Для запуска может использоваться инструментарий SWI-Prolog.

На данном этапе работа возможна только в окружениях с X-сервером, но автор не исключает реализацию поддержки Wayland. Основные возможности:

  • Работа в многомониторных конфигурациях.
  • Использование тегов для группировки окон и динамическое формирование виртуальных рабочих столов.
  • Применение парадигмы логического программирования для расширения функциональности.
  • Оформление файла конфигурации в форме кода на языке Пролог.
  • Интеграция панелей задач polybar и lemonbar.
  • Интеграция меню приложений dmenu и rofi.
  • Высокая производительность и потребление всего 10-15 МБ памяти.
  • Использование как динамического мозаичного размещения окон, так и классического режима с плавающими окнами.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63323

opennet honked 28 May 2025 14:00 +0200

Уязвимость в MCP-сервере GitHub, приводящая к утечке информации из приватных репозиториев

В GitHub MCP Server, реализации протокола MCP (Model Context Protocol) от GitHub, выявлена уязвимость, позволяющая извлечь данные из приватных репозиториев пользователей, использующих AI-ассистены для автоматизации работы с репозиториями.

Протокол MCP предназначен для связывания AI-моделей с различными источниками данных. GitHub MCP Server обеспечивает бесшовную интеграцию больших языковых моделей с API GitHub и предоставляет этим моделям дополнительный контекст, извлекая данные из GitHub-репозиториев. Использующие MCP модели могут применяться для автоматизации определённых действий с GitHub, например, для разбора сообщений об ошибках.

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

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

Для активации AI-агента необходимо, чтобы владелец репозитория дал команду на разбор сообщений об ошибках. В случае, если GitHub связан с AI-сервисом Claude для раскрытия информации достаточно чтобы владелец репозитория отправил AI-ассистенту запрос вида "посмотри на issue в моих репозиториях с открытым кодом и устрани их". После этого AI-ассиcтент задействует настроенную MCP-интеграцию с учётной записью на GitHub и выполнит содержащиеся в сообщениях о проблемах инструкции.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63322

opennet honked 28 May 2025 11:00 +0200

Уязвимость в GNU sort, приводящая к выходу за границу буфера

В утилите sort, поставляемой в составе пакета GNU Coreutils, выявлена уязвимость (CVE-2025-5278), приводящая к обращению к данным вне границы буфера при сортировке с использованием синтаксиса "+POS1[.C1][OPTS]", применяемого для выделения сортируемых ключей в обрабатываемых данных. Проблема вызвана целочисленным переполнением (wraparound) в функции begfield(), позволяющим прочитать содержимое одного байта данных вне буфера. Уязвимость может использоваться для вызова аварийного завершения приложений или организации утечки информации из процесса при передаче атакующим специально оформленных параметров сортировки. Проблема проявляется начиная с версии 7.2 (2009 год) и пока устранена в форме патча.

Проблему можно воспроизвести попытавшись отсортировать файл, содержащий строку "aa\nbb" командой "./sort +0.18446744073709551615R poc_input.txt".



Источник: https://www.opennet.ru/opennews/art.shtml?num=63320

opennet honked 28 May 2025 10:00 +0200

Выпуск дистрибутива KaOS 2025.05

Опубликован выпуск KaOS 2025.05, дистрибутива с непрерывной моделью обновления, нацеленного на предоставление рабочего стола на основе свежих выпусков KDE и приложений, использующих Qt. Из специфичных особенностей оформления можно отметить размещение вертикальной панели в правой стороне экрана. Дистрибутив развивается с оглядкой на Arch Linux, но поддерживает собственный независимый репозиторий, насчитывающий более 1500 пакетов, а также предлагает ряд собственных графических утилит. В качестве файловой системы по умолчанию применяется XFS. Сборки публикуются для систем x86_64 (3.8 ГБ).

Особенности KaOS:

  • На системах с UEFI для загрузки задействован Systemd-boot.
  • Для записи ISO-файлов на USB-диски предоставляется интерфейс IsoWriter, поддерживающий проверку корректности записанных образов.
  • В качестве офисного пакета по умолчанию задействован LibreOffice, собранный с VCL-плагинами kf5 и Qt5, позволяющими использовать родные для KDE и Qt диалоги, кнопки, обрамления окон и виджетов.
  • Предложен экран приветствия входа в систему Croeso, предоставляющий основные настойки, которые может потребоваться изменить после установки, а также позволяющий установить приложения и посмотреть информацию о дистрибутиве и системе.
  • По умолчанию задействована файловая система XFS с включённой проверкой целостности (CRC) и отдельным btree-индексом свободных inode (finobt).
  • Доступна опция для верификации загруженных ISO-файлов по цифровым подписям.
  • На экране входа в систему, работа которого обеспечивается дисплейным менеджером SDDM, реализована опция запуска в режиме с Wayland, которая в дальнейшем позволит отказаться от поставки компонентов X11. При работе с использованием Wayland задействован композитный менеджер kwin_wayland вместо штатно применяемого Weston.
  • В инсталляторе (Calamares) в режиме автоматической разбивки дисковых разделов предоставлена возможность выбора ФС (XFS, EXT4, BTRFS и ZFS) без перехода в режим ручной разбивки.
  • В звуковой библиотеке Phonon, которая используется для работы со звуковыми устройствами в KDE, по умолчанию задействован бэкенд phonon-mpv, поддерживающий Qt 6 (старый бэкенд на базе VLC пока не портирован на Qt6).



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

  • Компоненты рабочего стола обновлены до Qt 6.9, KDE Frameworks 6.14.0, KDE Plasma 6.3.5 и KDE Gear 25.04.
  • Из базовой поставки исключены библиотеки Qt5, которые продолжают быть доступны для установки из репозиториев. Для работы в окружении на базе Qt 6 и KDE Frameworks 6 адаптированы приложения Frescobaldi, Krita, Kamoso и Calligraplan.
  • Обновлены версии пакетов: ядро Linux 6.14, Systemd 254.24, Mesa 25.1.1, Glibc 2.4.1, Binutils 2.44, GCC 14.2.1, SQlite 3.49.1, Pacman 7.0.0, kmod 34.2, IWD 3.4, Poppler 25.05.0, Gstreamer 1.26.1, Pipewire 1.4.3, ZFS 2.3.2, Tzdata 2025b, OpenSSL 3.5.0, Proj 9.6.0, Protobuf 31.0.
  • В состав включён пакет Nextcloud-client с реализацией клиента для синхронизации данных с облаком Nextcloud.
  • Добавлена программа Kjournald с графическим интерфейсом для навигации по логам systemd-journald.
  • Добавлена экспериментальная поддержка файловой системы Bcachefs, которая может быть выбрана в инсталляторе при использовании ручного режима работы с дисковыми разделами. Поддержка Bcachefs включена в ядре, но для работы требуется установка пакета bcachefs-tools из репозиториев.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63319

opennet honked 28 May 2025 10:00 +0200

Опубликован почтовый клиент Thunderbird 139.0

Доступен релиз почтового клиента Thunderbird 139.0, развиваемого силами сообщества и основанного на технологиях Mozilla. Thunderbird 139 построен на кодовой базе Firefox 139 и отнесён к промежуточным версиям, обновления для которых выпускаются до следующего выпуска. В ESR-ветке с длительным сроком поддержки, обновления для которой выпускаются в течение года, сформирован выпуск Thunderbird 128.11.0.

Ключевые изменения в Thunderbird:

  • Добавлена поддержка ручной сортировки папок в панели.
  • В уведомление о новой почте добавлены кнопки для пометки прочитанным и удаления.
  • К конфигураторе предоставлена возможность настройки числа столбцов в режиме Cards View.
  • Для предприятий реализована политика для выборочного управления уведомлениями.
  • В Thunderbird 128.11.0 устранено 11 уязвимостей и исправлена проблема, приводившая к аварийному завершению в случае прерывания операции копировния сообщения в папку Sent.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63318

opennet honked 28 May 2025 10:00 +0200

Выпуск GNU Automake 1.18, инструментария для генерации сборочных файлов

Опубликован релиз Automake 1.18, утилиты для автоматической генерации make-файлов, соответствующих стандартам кодирования проекта GNU. В новой версии:
  • Добавлена поддержка языка программирования Алгол 68, используя компилятор GNU Algol 68.
  • По умолчанию осуществлён переход на формат tar-архивов ustar, поддерживающий более длинные имена файлов.
  • В скрипте mdate-sh, применяемом при сборке Texinfo, добавлена поддержка получения даты через переменную окружения SOURCE_DATE_EPOCH, вместо использования времени модификации файла.
  • Добавлена опция "dist-bzip3" для формирования tar-архива для дистрибутивов с использованием сжатия bzip3.
  • Для tap-driver.sh добавлена опция "--stderr-prefix", позволяющая добавить произвольный префикс в начало каждой строки вывода в stderr.
  • Улучшена поддержка языка Perl.

    Источник: https://www.opennet.ru/opennews/art.shtml?num=63317

opennet honked 28 May 2025 09:00 +0200

Началось бета-тестирование VirtualBox 7.2.0

Спустя год с момента формирования прошлой значительной ветки компания 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, использующих процессоры на базе архитектуры ARM.
  • Добавлена поддержка запуска гостевых систем с Windows 11 для архитектуры ARM. В наборе дополнений для гостевых систем реализован новый тип ОС - "Windows 11/Arm".
  • Нарушена совместимость с состоянием виртуальных машин на базе архитектуры ARM, сохранённым в VirtualBox 7.1, а также сохранёнными снапшотами ARM VM. Перед переходом на ветку VirtualBox 7.2 требуется завершить выполнение подобных виртуальных машин.
  • В состав компонентов для хост-систем на базе архитектуры ARM включён web-сервис vboxwebsrv для управления через web-интерфейс.
  • В виртуальных машинах на базе архитектуры ARM реализована поддержка ACPI.
  • Из числа зависимостей удалены libIDL и IASL.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63316

opennet honked 27 May 2025 23:00 +0200

Доступен дистрибутив AlmaLinux 10.0

Представлен релиз дистрибутива AlmaLinux 10.0, синхронизированный c Red Hat Enterprise Linux 10.0 и содержащий все предложенные в данном выпуске изменения. Установочные образы подготовлены для архитектур x86_64_v3, x86_64_v2, ARM64, ppc64le и s390x в форме загрузочного (864 МБ), минимального (1.4 ГБ) и полного образа (7.3 ГБ). Позднее будут сформированы Live-сборки с GNOME, KDE, MATE и Xfce, а также образы для плат Raspberry Pi, контейнеров, WSL (Windows Subsystem for Linux) и облачных платформ.

Дистрибутив по возможности бинарно совместим с Red Hat Enterprise Linux и может использоваться в качестве замены RHEL 10 и CentOS 10 Stream. Помимо ребрендинга и удаления специфичных для RHEL пакетов в AlmaLinux 10.0 отмечены следующие отличия от RHEL 10:

  • Сформированы отдельные сборки для второй версии микроархитектуры x86-64 (x86-64-v2), которые сопровождаются параллельно с базовыми сборками x86-64, формируемыми с оптимизациями для микроархитектуры x86-64-v3, которая используется в RHEL 10. Дополнительная поддержка x86-64-v2 позволяет обеспечить совместимость с CPU старше Intel Haswell и AMD Excavator, спроектированными до 2013 года. Помимо штатных репозиториев сборки x86-64-v2 также подготовлены и для пакетов из репозитория EPEL.
  • Возвращено использование процессорного регистра %rbp в качестве базового указателя на кадр стека, содержащий адреса возврата и переменные функции (frame pointer). Использование указателя на кадры стека позволяет использовать в дистрибутиве дополнительные возможности для трассировки и профилирования системы.
  • Возвращены серверные и клиентские реализации протокола SPICE, позволяющего организовать удаленную работу с рабочим столом, функционирующим в виртуальном окружении под управлением QEMU/KVM. В отличие от протоколов VNC и RDP в SPICE отрисовка содержимого экрана и обработка аудиопотоков производится на стороне клиента, а не на сервере. В RHEL поддержка SPICE была прекращена в выпуске 9.0.
  • Реализована возможность использования гипервизора KVM на системах с процессорами IBM POWER. В RHEL подобная поддержка была прекращена в ветке 9.0.
  • Реализована возможность загрузки в режиме UEFI Secure Boot для систем с процессорами Intel/AMD и ARM.
  • Возобновлена поддержка более 150 аппаратных устройств, не поддерживаемых в RHEL 10. Например, возвращены идентификаторы старых PCI-устройств в драйверах:
    • aacraid - Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI
    • be2iscsi - Emulex OneConnectOpen-iSCSI для BladeEngine 2 и 3
    • be2net - Emulex BladeEngine 2 and 3 adapters *
    • hpsa - HP Smart Array Controller
    • lpfc - Emulex LightPulse Fibre Channel SCSI
    • megaraid_sas - Broadcom MegaRAID SAS
    • mlx4_core - Mellanox Gen2 и ConnectX-2
    • mpt3sas - LSI MPT Fusion SAS 3.0
    • mptsas - Fusion MPT SAS Host
    • qla2xxx - QLogic Fibre Channel HBA
    • qla4xxx - QLogic iSCSI HBA.

Дистрибутив AlmaLinux основан компанией CloudLinux в ответ на преждевременное сворачивание поддержки CentOS 8 компанией Red Hat (выпуск обновлений для CentOS 8 прекращён в конце 2021 года, а не в 2029 году, как предполагали пользователи). Проект курирует отдельная некоммерческая организация AlmaLinux OS Foundation, которая была создана для разработки на нейтральной площадке с участием сообщества и c использованием модели управления, похожей на организацию работы проекта Fedora. Дистрибутив бесплатен для всех категорий пользователей. Все наработки AlmaLinux публикуются под свободными лицензиями.

Кроме AlmaLinux, в качестве альтернатив классическому CentOS также позиционируются Rocky Linux (развивается сообществом под руководством основателя CentOS), Oracle Linux, SUSE Liberty Linux и EuroLinux. Кроме того, компания Red Hat предоставила возможность бесплатного использования RHEL в организациях, развивающих открытое ПО, и в окружениях индивидуальных разработчиков, насчитывающих до 16 виртуальных или физических систем.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63314

opennet honked 27 May 2025 22:00 +0200

Релиз Firefox 139

Состоялся релиз web-браузера Firefox 139 и сформированы обновления прошлых веток с длительным сроком поддержки - 115.24.0 и 128.11.0. На стадию бета-тестирования переведена ветка Firefox 140, релиз которой намечен на 24 июня.

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

  • Добавлена возможность назначения собственного фонового изображения или выбора цвета фона для страницы, показываемой при открытии новой вкладки. Функция пока по умолчанию включена не для всех и постепенно будет активироваться для всё большего процента пользователей. Для принудительного включения можно использовать раздел настроек "Firefox Labs" (about:settings#experimental). В новом выпуске также добавлены новые типовые фоновые изображений и преложена новая категория обоев "Celestial".
  • Добавлена экспериментальная поддержка предпросмотра ссылок на странице - если удерживая Alt+Shift навести курсор на ссылку, появится всплывающее окно с информацией о странице, на которую указывает ссылка. Информация включает заголовок, изображение и краткий отчёт о содержимом, сгенерированный большой языковой моделью (задействован встроенный AI-ассистент, выполняемый на системе пользователя). Возможность включается через секцию "Firefox Labs" (about:settings#experimental).
  • Функция перевода с одного языка на другой теперь работает не только на web-страницах, но и на внутренних страницах дополнений, доступных через URL "moz-extension://".
  • Значительно повышена производительность загрузки данных при использовании HTTP/3, что особенно заметно при возобновлении соединения (QUIC 0-RTT) и на каналах связи с высокой пропускной способностью и большими задержками.
  • В связи с переходом Chrome к шифрованию конфиденциальных данных пользователя на платформе Windows, прекращена поддержка прямой миграции паролей и методов платежей из Chrome. Для переноса паролей из Chrome теперь необходимо вручную выполнить экспорт паролей в формате CSV и загрузить полученный файл в Firefox.
  • 10 июня будет прекращена работа сервиса Review Checker (Fakespot), а 8 июля сервиса Pocket.
  • Включён по умолчанию объект Temporal, предлагающий альтернативный набор методов для работы с датами и временем. Новый API позволяет манипулировать датами с учётом и без учёта часовых поясов, конвертировать время, форматировать вывод и выполнять арифметические операции со временем. Время может задаваться в независимом от часового пояса представлении (Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainDateTime), с привязкой к часовому поясу (Temporal.ZonedDateTime) и в эпохальном представлении (Temporal.Instant - число наносекунд с 1 января 1970 года).
  • Добавлена возможность урезания точности таймера для Worker-ов.
  • Операции поиска на странице теперь охватывают содержимое HTML-блоков "‹details›". Если искомая фраза присутствует в блоке, то при поиске он автоматически раскрывается.
  • Для атрибута "hidden" предложен новый флаг "until-found", который делает элемент доступным для поиска на странице и прокрутки по текстовой маске. Например, можно добавить на страницу скрытый текст, содержимое которого будет находиться при локальном поиске.
  • В методе window.getSelection().toString() обеспечена корректная сериализация текста, выделенного в текстовых формах.
  • Для WebAuthn реализованы расширения largeBlob и credProps, предназначенные для сохранения и извлечения дополнительных данных, связанных с учётной записью пользователя.
  • В API HTMLDialogElement добавлен метод requestClose(), инициирующий закрытие диалога на базе HTML-элемента ‹dialog›. В отличие от метода Close() новый метод даёт возможность отмены закрытия через добавление обработчика события "cancel".
  • Поведение встроенного редактора для contenteditable и designMode приближено к Chrome в плане обработки пробелов перед границей блока и между видимым содержимым (Firefox больше не добавляет элемент ‹br› после пробела перед границей блока).
  • В инструментах для web-разработчиков обеспечено сохранение настроек фильтра в панели инспектирования сети между разными сеансами. В отладчике JavaScript улучшено оформление строки, на которой остановлено выполнение, а корневой каталог ограничен выбранным доменом.
  • В версии для платформы Android реализована поддержка сортировки закладок, улучшен интерфейс управления загрузками, расширены возможности ленты новостей и началась реализация поддержки фреймворка JetPack Compose.

Кроме новшеств и исправления ошибок в Firefox 139 устранено 14 уязвимостей. 8 уязвимостей вызваны проблемами работы с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Одной проблеме (CVE-2025-5262) присвоен критический уровень опасности. Уязвимость вызвана двойным освобождением памяти (double-free) в коде кодировщика libvpx, поддерживающего форматы VP8 и VP9, и может быть эксплуатирована при через WebRTC.

В бета-версии Firefox 140 в контекстное меню, показываемое при клике правой кнопкой мыши на вкладке, добавлен пункт "Unload Tab", позволяющий выгрузить вкладку из памяти для снижения потребляемых ресурсов. В панели вертикальных вкладок реализована возможность изменения размера области закреплённых вкладок. Предоставлена возможность добавления собственных поисковых движков (Settings › Search › Add).

Источник: https://www.opennet.ru/opennews/art.shtml?num=63313

opennet honked 27 May 2025 11:00 +0200

Google оценил возможности квантового компьютера, необходимые для взлома RSA-2048

Компания Google опубликовала результаты прогнозирования возможностей квантового компьютера, необходимого для успешной факторизации параметров 2048-битных RSA-ключей. В ходе исследования был сделан вывод, что теоретически взлом ключа RSA-2024 может быть осуществлён за неделю вычислений на квантовом компьютере, имеющим миллион неидеальных ("шумных") кубитов. На текущем этапе развития квантовые компьютеры позволяют использовать от 100 до 1000 кубитов с необходимым для проведения атаки уровнем ошибок (0.1%).

Примечательно, что заявленное Google число кубитов в 20 раз меньше, чем прогнозировалось в 2019 году. Число необходимых для атаки кубитов удалось снизить за счёт оптимизации алгоритма прогнозирования возведения в степень по модулю и задействования техники послойной коррекции ошибок. Национальный институт стандартов и технологий США (NIST) намерен признать не стойкие для подбора на квантовых компьютерах алгоритмы устаревшими в 2030 году и запретить их использование после 2035 года.

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

Источник: https://www.opennet.ru/opennews/art.shtml?num=63310

opennet honked 27 May 2025 11:00 +0200

Релиз свободного воксельного игрового движка Luanti 5.12.0

После трёх месяцев разработки опубликован релиз Luanti 5.12.0, свободного кроссплатформенного игрового движка в жанре песочница, позволяющего создавать игры по аналогу Roblox, но с воксельной механикой, используя различные блоки для совместного формирования игроками различных структур и построек, образующих подобие виртуального мира. Некоторые игры на движке стремятся клонировать Minecraft. Предоставляемый движком геймплей полностью зависит от набора модов, создаваемых на языке Lua. Движок написан на языке С++ c использованием 3D-библиотеки IrrlichtMt (форк Irrlicht). Код Luanti распространяется под лицензией LGPL, а игровые ресурсы под лицензией CC BY-SA 3.0. Готовые сборки формируются для различных дистрибутивов Linux, Android, FreeBSD, Windows и macOS.

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

  • Переход на библиотеку SDL2 для работы с окнами и устройствами ввода, позволивший добавить поддержку управления через сенсорные экраны.
  • В меню настроек добавлена поддержка назначения комбинаций клавиш.
  • В графическом интерфейсе реализована поддержка узловой анимации текстур (animated node texture).
  • Исправлена фильтрация текстур (текстуры теперь не выглядят размытыми).
  • На страницы с информацией о пакетах добавлена вкладка "Рецензии", на которой показаны отзывы других пользователей о пакете.
  • Для разработчиков игр добавлен метод set_camera для выбора режима камеры, сопоставленной с игроком.
  • Повышена производительность загрузки и генерации игровых миров, а также обеспечена более эффективная индексация в хранилище объектов.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63309

opennet honked 27 May 2025 10:00 +0200

Выпуск Armbian 25.5 и DietPi 9.13, дистрибутивов для одноплатных компьютеров

Опубликован выпуск Linux-дистрибутива Armbian 25.5, предоставляющего компактное системное окружение для одноплатных компьютеров с процессорами на базе архитектур ARM, RISC-V и x86, поддерживающее различные модели Raspberry Pi, Odroid, Orange Pi, Banana Pi, Helios64, pine64, Nanopi и Cubieboard на базе процессоров Allwinner, Amlogic, Actionsemi, Freescale / NXP, Marvell Armada, Rockchip, Radxa и Samsung Exynos.

Для формирования сборок используются пакетные базы Debian и Ubuntu, но все компоненты полностью пересобирается при помощи собственной сборочной системы с включением оптимизаций для уменьшения размера, увеличения производительности и применения дополнительных механизмов защиты. Например, раздел /var/log монтируется с использованием zram и хранится в ОЗУ в сжатом виде со сбросом данных на накопитель раз в день или при завершении работы. Раздел /tmp монтируется при помощи tmpfs.

Проектом поддерживается более 30 вариантов сборок ядра Linux для разных платформ ARM и ARM64. Предоставляется SDK для упрощения создания своих системных образов, пакетов и редакций дистрибутива. Для подкачки используется ZSWAP. При входе по SSH предоставляется опция для использования двухфакторной аутентификации. В состав входит эмулятор box64, позволяющий запускать программы, собранные для процессоров на базе архитектуры x86. Предлагаются готовые пакеты для запуска пользовательских окружений на базе KDE, GNOME, Budgie, Cinnamon, i3wm, Mate, Xfce и Xmonad.

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

  • Обеспечена официальная поддержка плат Banana Pi M2 и Mekotronics r58/r58x.
  • Добавлена поддержка плат TI SK-AM69, BeagleBoard PocketBeagle2, BeagleBone AI-64, BeaglePlay, Qcom Robotics RB5, Radxa Cubie A5E, SMART AM40, NanoPi R2S Plus, Mediatek Genio и Radxa Nio-12L.
  • Для плат на чипах Rockchip, таких как Rock 5B и Youyeetoo R1 реализована поддержка HDMI и звука.
  • Улучшена поддержка плат BananaPi BPI-M4-Zero, BananaPi SM1, BigTreeTech CB2, MBa8MPxL, Nano pi r3s, Radxa Zero3, Rock 3a, Odroid XU4, Orange Pi 5/5b/pro, Raspberry Pi, Rock5, Station p2/m3.
  • Существенно модернизирована и переведена на мольную архитектуру утилита armbian-config, применяемая для настройки системы после установки. Интегрирована функция библиотеки приложений, позволяющая запускать изолированные окружения с популярными приложениями (Home Assistant, Stirling PDF, Navidrome, Grafana, NetData, Immich) непосредственно из интерфейса armbian-config. В сетевом конфигураторе улучшено определение точек доступа Wi-Fi и упрощена настройка сетевого интерфейса. Обеспечена динамическая загрузки специфичных для плат компонентов и улучшен интерфейс для переключения между BSP (Board Support Package).
  • Ядро Linux для плат на чипах Rockchip обновлено до версии 6.14. Предоставлены настройки для управления включением патчей, позволяющие собрать немодифицированный вариант ядра.
  • Загрузчик U-Boot обновлён до версии 2025.01.
  • Добавлена поддержка подразделов Btrfs.
  • Реализована возможность настройки выравнивания разделов EFI для работы на устройствах с UFS.
  • Улучшена поддержка доступа к консоли через последовательный порт.
  • В базовый состав включены утилиты e2fspros.
  • В сборочный инструментарий добавлена возможность включения поддержки ZFS, ZRAM и Docker.
  • Добавлены пакеты Home Assistant, Zerotier VPN, AdGuardHome, Unbound DNS.
  • Упрощён инструментарий для ведения логов и улучшены средства для диагностики проблем.



Дополнительно можно отметить формирование выпуска DietPi 9.13, дистрибутива для одноплатных ПК на базе архитектур ARM и RISC-V, таких как Raspberry Pi, Orange Pi, NanoPi, BananaPi, BeagleBone Black, Rock64, Rock Pi, Quartz64, Pine64, Asus Tinker, Odroid и VisionFive 2. Дистрибутив построен на пакетной базе Debian и доступен в сборках для более, чем 50 плат. DietPi также может применяться для создания компактных окружений для виртуальных машин и обычных ПК на базе архитектуры x86_64. Сборки для плат отличаются небольшим размером (в среднем 130 МБ) по сравнению с Raspberry Pi OS и Armbian. Инструментарий для сборки и сопровождения дистрибутива распространяется под лицензией GPLv2.

Проект оптимизирован для минимального потребления ресурсов и развивает несколько собственных утилит: интерфейс для установки приложений DietPi-Software, конфигуратор DietPi-Config, система резервного копирования DietPi-Backup, механизм ведения временных логов DietPi-Ramlog (также поддерживается rsyslog), интерфейс для установки приоритетов выполнения процессов DietPi-Services и система доставки обновлений DietPi-Update. Утилиты предоставляют консольный интерфейс пользователя с меню и диалогами на базе whiptail. Поддерживается режим полной автоматизации установки, позволяющий провести инсталляцию на платы без участия пользователя.

Среди изменений в DietPi 9.13:

  • Добавлен запрос обязательной смены паролей для пользователей по умолчанию и dietpi-software. В ранее установленных системах подобный запрос будет выведен в процессе обновления, если в них продолжают использоваться пароли по умолчанию.
  • Из системного окружения исключены утилиты unzip, 7zip и bzip2, которые теперь будут автоматически устанавливаться при необходимости.
  • Для плат Orange Pi 3B реализовано управление кулером.
  • Для плат Radxa ZERO 3 осуществлён переход на вариант ядра Linux 6.1, предлагаемый производителем.
  • Для плат ASUS Tinker Board 2 решена проблема с изменением MAC-адреса при каждом перезапуске.
  • В образах для виртуальных машин пакет tiny-initramfs заменён на initramfs-tools, позволяющий генерировать более компактные образы initramfs (~1 MiB вместо ~35 MiB) за счёт включения только используемых модулей ядра.
  • В интерфейсе настройки после первой загрузки упрощён диалог выбора раскладки клавиатуры (вместо многоэтапного процесса выбора предложен простой список доступных опций и отдельная секция с расширенными настройками).
  • В менеджере приложений DietPi-Software реализована поддержка установки платформы совместной разработки Gitea на системах с процессорами RISC-V.
  • Прекращена поставка пакетов Google AIY Voice Kit и Mycroft AI, разработка которых прекращена производителями.


Источник: https://www.opennet.ru/opennews/art.shtml?num=63307

opennet honked 27 May 2025 08:00 +0200

В драйвере PanVK сертифицирована поддержка Vulkan 1.2

Консорциум Khronos, занимающийся разработкой графических стандартов, признал полную совместимость открытого драйвера PanVK со спецификацией Vulkan 1.2. PanVK обеспечивает поддержку графического API Vulkan на устройствах с GPU ARM на базе архитектуры V10, таких как Mali-G610 и Mali-G310. Драйвер успешно прошёл все тесты из набора CTS (Khronos Conformance Test Suite) и включён в список сертифицированных драйверов.

Получение сертификата даёт возможность официально заявлять о совместимости с графическими стандартами и использовать связанные с ними торговые марки Khronos. Проверка была выполнена на системах с процессорами ARM (armhf и aarch64) для семейства GPU Mali-G610 в окружении на базе Debian GNU/Linux 13 (testing) c Mesa 25.1. Из планов отмечается переход к работе над поддержкой Vulkan 1.3 и 1.4.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63308

opennet honked 26 May 2025 12:00 +0200

Релиз ядра Linux 6.15

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.15. Среди наиболее заметных изменений: механизм аудита в Landlock, режим закрепления маппинга памяти, подсистема fwctl, драйвер Nova для GPU NVIDIA, реализация хост-системы для гипервизора Hyper-V, поддержка зонированных устройств хранения в XFS, оптимизация сетевой подсистемы, scrub-проверка в Bcachefs, возможность контроля над операциями через io_uring.

В новую версию принято 15945 исправлений от 2154 разработчиков, размер патча - 59 МБ (изменения затронули 13596 файлов, добавлено 739608 строк кода, удалено 312168 строк). В прошлом выпуске было 12115 исправлений от 1984 разработчиков, размер патча - 39 МБ. Около 41% всех представленных в 6.15 изменений связаны с драйверами устройств, примерно 16% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 5% - с файловыми системами и 4% c внутренними подсистемами ядра.

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

  • Дисковая подсистема, ввод/вывод и файловые системы
    • В механизм fanotify добавлена возможность отслеживания событий монтирования и отмонтирования.
    • В XFS добавлена поддержка зонированных устройств хранения (разделение на зоны групп блоков или секторов, в которые допускается лишь последовательное добавление данных с обновлением целиком всей группы блоков). Добавлен флаг rwf_dontcache для отключения кэширования при записи. Реализована возможность атомарной записи сразу нескольких блоков данных.
    • В Btrfs реализована возможность указания при монтировании отрицательных уровней сжатия zstd (от -15 до -1, например, "compress=zstd:-5"), обеспечивающих более высокую скорость работы ценой снижения эффективности сжатия. Улучшено кэширование файловых путей (в проведённом тесте выполнение операции "send" ускорилось на 30%). Добавлена поддержка блоков размером 2Кб.
    • В EXT4 повышена производительность при воспроизведении журнала с очень большим числом отозванных записей (нагрузка, свойственная разделам под ФС Lustre). Реализован линейный поиск записей "dentry" (внутреннее представление элементов каталогов), решающий проблемы с доступом к некоторым файлам в режиме без учёта регистра символов. Налажена работа опции монтирования "errors=remount-ro".
    • В F2FS реализован ioctl для получения сведений о приоритете операции ввода/вывода для заданного файла. Проведена работа по переходу на использование фолиантов страниц памяти (page folios).
    • В Bcachefs добавлен режим "scrub", при котором осуществляется проверка корректности чтения всех данных и метаданных из ФС. В случае выявления ошибок запускается процедура восстановления. В Bcachefs также добавлена поддержка работы с ФС, размер блока в которых больше чем размер страницы памяти. Стабилизирован формат дисковых структур Bcachefs (дальнейшие изменения формата будут реализовываться в форме опциональных дополнений).
    • В EROFS добавлена поддержка 48-разрядной адресации блоков.
    • В подсистеме FUSE реализованы sysctl default_request_timeout и max_request_timeout для задания таймаутов на выполнение запросов, что позволяет отслеживать зависания компонентов FUSE, работающих в пространстве пользователя. Максимальный размер имён файлов в FUSE увеличен до 1024 символов.
    • В системный вызов statmount() добавлена возможность получения информации о маппинге идентификаторов пользователей примонтированных файловых систем, применяемом для сопоставления файлов определённого пользователя на примонтированном чужом разделе с другим пользователем в текущей системе.
    • Релизована возможность создания точки монтирования с иным маппингом идентификаторов пользователей, чем у исходного примонтированного раздела.
    • В API для управления монтированием внесены изменения, упрощающие сборку сложных иерархий файловых систем без раскрытия отдельных частей файловых систем, которые необходимо оставить скрытыми.
    • В подсистему для работы с блочными устройствами добавлена поддержка аппаратных устройств защиты ключей шифрования.
    • В файловой системе SMB реализована опция is_network_name_deleted и включён по умолчанию режим smb_server_kerberos5.
    • Для ФС OverlayFS добавлена опция монтирования "override_creds", при указании которой для доступа к нижним уровням хранилища будут использоваться учётные данные вызывающего пользователя, а не выполнившего монтирование. Изменение, например, позволяет при монтировании OverlayFS требовать пользователя с полномочиями CAP_SYS_ADMIN, но использовать ФС с учётными данными без данной привилегии.
    • В exFAT ускорены операции удаления файлов. Вместо отправки запросов "discard" по отдельности на каждый освобождаемый кластер удаляемого файла, драйвер теперь группирует запросы. В проведённом тесте время удаления файла, размером 80 ГБ, сократилось с 286 секунд до 1.6 секунды.
    • Все псевдо-ФС, а также ФС EXT2, переведены на использование нового API монтирования разделов.
    • Удалён код для поддержки файловых систем SYSV (SystemV/386, Xenix и Coherent), который с 2023 года помечен как неподдерживаемый (orphaned).
  • Память и системные сервисы
    • Необходимая для сборки ядра минимальная версия GCC поднята до 8.1, а Clang - до 15.0.0.
    • Добавлена подсистема fwctl (Firmware Control), предоставляющая API для безопасного управления прошивками и выполнения обработчиков на стороне прошивок из пространства пользователя. На базе fwctl подготовлены драйверы для устройств CXL (Compute Express Link), Ethernet-адаптеров Mellanox ConnectX (mlx5) и сервисных карт AMD/Pensando.
    • Расширены возможности механизма pidfd, позволяющего использовать идентификаторы, связанные с конкретными процессами и в отличие от pid повторно не назначаемые. Предоставлена возможность извлечения данных о состоянии завершения процесса, идентифицируемого через pidfd, после того, как родительский процесс получил подтверждение о завершении дочернего процесса (reaped) и его ресурсы были освобождены. В системные вызовы добавлен флаг PIDFD_SELF, при помощи которого процесс может сослаться на самого себя.
    • Для архитектуры RISC-V реализована поддержка расширений BFloat16, Zaamo (атомарные операции с памятью), Zalrsc (Load-Reserved/Store-conditional) и ZBKB (битовые операции для криптографии).
    • При трассировке обеспечена возможность сохранения аргументов вызываемых функций и их отображения в логах трассировки.
    • В систему асинхронного ввода/вывода io_uring добавлена поддержка чтения информации о событиях epoll. Применение io_uring для обработки событий epoll позволяет снизить число переключений контекста и даёт возможность обрабатывать за раз несколько событий epoll.
    • В подсистеме eBPF улучшена верификация программ с циклами. Добавлены новые инструкции "timed_may_goto", "load-acquire" и "store-release". Предоставлена возможность изменения расширенных атрибутов файлов из BPF-программ. Добавлена функция try_alloc_pages(), рассчитанная на выделение памяти при высокой вероятности неудачного выполнения операции (при запуске BPF-программ в ограниченных контекстах).

      Реализован новый примитив блокировок - rqspinlock (Resilient Queued Spin Lock), во время выполнения выявляющий ситуации, приводящие к взаимным блокировкам. Новый примитив даёт возможность загружать BPF-программы, для которых верификатор не гарантировал корректность работы с блокировками.

    • Значительно повышена надёжность выделения больших страниц памяти (huge-page).
    • Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Предоставлена возможность использования в коде ядра макроса "#[kunit_tests()]" для запуска unit-тестов. Добавлена поддержка архитектуры ARMv7. Реализованы модули dma и hrtimer с Rust-обвязками для DMA (добавлены Линусом в обход мэйнтейнера, который после этого ушёл со своего поста) и высокоточных таймеров. Расширены модули 'list', 'str', 'sync', 'error' и 'alloc'. Добавлена поддержка нового синтаксиса '&raw' (raw_ref_op).
    • В подсистеме perf реализована возможность профилирования задержек, используя информацию от планировщика задач.
    • Добавлен параметр командной строки ядра "traceoff_after_boot", отключающий трассировку после того как ядро загрузилось и запущен процесс init. Параметр может использоваться при диагностике проблем, связанных с загрузкой, гарантируя, что накопленные во время загрузки данные трассировки не будут перезаписаны.
    • Прекращена поддержка 32-разрядных систем x86, имеющих более 8 CPU и 4 ГБ ОЗУ. Подобное оборудование уже давно не выпускается, а требующие такие ресурсы системы переведены на 64-разрядные CPU.
    • В реализацию POSIX-таймеров внесены изменения, позволяющие инструментарию CRIU (Checkpoint/Restore in Userspace) сохранять и восстанавливать идентификаторы таймеров.
  • Виртуализация и безопасность
    • Добавлена возможность использования Linux в качестве корневого окружения (Dom0. root partition) для гипервизора Hyper-V (Microsoft Hypervisor). Хост-окружение отвечает за управление гипервизором, организацию запуска гостевых систем, выделение ресурсов и обеспечение взаимодействия виртуальных машин с оборудованием. Управление гипервизором Hyper-V в Linux осуществляется через устройство /dev/mshv.
    • В модуль Landlock, предоставляющий непривилегированным программам средства для ограничения использования объектов ядра Linux (иерархии файлов, сетевые сокеты, ioctl и т.п), добавлен механизм аудита. Аудит позволяет детально оценивать причины блокировок доступа, осуществляемых при использовании Landlock, а также даёт возможность понять когда и какая операция заблокирована, почему выполнена блокировка и какое правило сработало.
    • Добавлена возможность реализации в LSM-модулях (Linux Security Modules) обработчиков, контролирующих обращения к системе асинхронного ввода/вывода io_uring и позволяющих блокировать использование io_uring для обхода ограничений доступа к системным вызовам. Подобный обработчик реализован в LSM-модуле SELinux.
    • В SELinux реализована возможность применения политик к любым типам данных, загружаемым ядром, включая образы прошивок, политики безопасности и сертификаты.
    • Добавлен режим закрепления (seal) некоторых операций маппинга памяти, осуществляемых ядром в адресном пространстве процесса. Закрепление переводит маппинг в режим только для чтения и не позволяет изменить в случае эксплуатации уязвимости. Действие распространяется на маппинг vDSO, vsyscall, vvar, sigpage и uprobes. Режим по умолчанию отключён, так как может нарушить работу некоторых приложений. Для включения добавлена сборочная настройка CONFIG_MSEAL_SYSTEM_MAPPINGS.
  • Сетевая подсистема
    • Продолжена работа по избавлению сетевого стека от глобальной блокировки RTNL (rtnl_lock) и её преобразованию в блокировки, привязываемые к отдельным пространствам сетевых имён.
    • Добавлена начальная возможность получения сетевых пакетов через io_uring c копированием содержимого сразу в память программы в пространстве пользователя без промежуточной буферизации (zero-copy). В проведённых тестах изменение позволило справится с обработкой трафика через 200 гигабитный канал, используя одно ядро CPU.
    • Реализованы sysctl tcp_rto_max_ms и опция TCP-сокетов TCP_RTO_MAX_MS, через которые можно выставить максимальное время между попытками повторной передачи пакетов.
    • В BPF добавлена серия callback-вызовов для получения сведений о времени из различных мест сетевого стека, что может использоваться для диагностики проблем с сетевыми задержками.
    • Добавлены оптимизации производительности сетевых операций:
      • Оптимизация GRO (Generic Receive Offload), объединяющая несколько мелких пакетов в один большой, теперь задействована при переключении обработки пакета на другой CPU (для балансировки нагрузки) при использовании подсистемы XDP (eXpress Data Path), позволяющей обрабатывать пакеты на уровне сетевого драйвера на стадии до их передачи сетевому стеку. Прирост производительности обработки TCP-потоков от применения оптимизации может достигать двух раз.
      • В условиях сильной нагрузки производительность функции connect() повышена до двух раз за счёт замены spin-блокировки на механизм синхронизации RCU (Read-Copy-Update) при поиске записей с информацией о сторонах соединения (исходные и целевые IP-адреса и порты). Дополнительно проведена оптимизация хэширования, обеспечившая прирост производительности ещё на 229%.
      • Ускорена реализация MPTCP (Multipath TCP), расширения протокола TCP для организации доставки пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. MPTCP в режиме с одним потоком ускорен на 29%.
      • В netfilter при наличии сокета прекращено выполнение операций поиска маршрутов в FIB (Forwarding Information Base). Благодаря данной оптимизации производительность возросла на 20%.
      • Производительность UDP в условиях флуда (flood) увеличена на 10% за счет исключения лишних операций со структурой sk_tsflags при получении пакетов.
  • Оборудование
    • В состав яда принята начальная реализация драйвера Nova для GPU NVIDIA, оснащённых GSP-прошивками, используемыми начиная с серии NVIDIA GeForce RTX 2000 на базе микроархитектуры Turing. Драйвер написан на языке Rust. На первом этапе добавлен только каркас nova-core, насчитывающий около 400 строк кода и реализующий базовый уровень абстракций над программными интерфейсами прошивок GSP. На следующем этапе в ядро планируют включить DRM-драйвер nova-drm (Direct Rendering Manager) для взаимодействия с GPU из пространства пользователя, а также VFIO-драйвер с менеджером vGPU, позволяющим использовать виртуальные GPU NVIDIA в системах виртуализации.
    • Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Добавлена поддержка SVM (Shared Virtual Memory), компонента фреймворка DRM, управляющего разделяемой памятью, совместно используемой в CPU и GPU.
    • В драйвер i915 добавлены идентификаторы новых GPU.
    • В драйвере Nouveau переработан GSP RPC и интегрирован интерфейс drm_slave_encoder.
    • В драйвере AMDGPU реализована поддержка архитектуры DCN36 (Display Core Next). Добавлена возможность задания своих кривых яркости, используемых для коррекции яркости дисплея.
    • В драйвер adreno добавлена поддержка GPU Qualcomm Adreno 623.
    • Добавлена поддержка сенсорных панелей Apple Touch Bar.
    • Добавлена поддержка второй версии расширения eUSB2 (eUSB2V2 - Embedded USB2 Version 2.0), позволяющего снизить напряжение питания (до 1.2 вольт) и повысить производительность USB 2.0. Скорость передачи данных в eUSB2V2 может достигать 4.8 Гбит в секунду, что в 10 раз быстрее обычных 480 Мбит в секунду, типичных для USB 2.0. eUSB2V2 позволит производителям ноутбуков комплектовать свои устройства веб-камерами более высокого разрешения, продолжая при этом использовать для их подключения шину Embedded USB2.
    • Добавлена поддержка экранных панелей Visionox RM692E5, Rockchip w552793dba-v10, kingdisplay-kd110n11-51ie и starry-2082109qfh040022-50e.
    • Добавлена поддержка звуковых систем Presonus Studio 1824c, Jabra Evolve 65. Добавлена поддержка DSP-модулей AMD ACP 7.x, AWINC WM88166, Everest ES8388, Intel AVS PEAKVOL и GAIN. Улучшена поддержка звука на ноутбуках ASUS, HP и Lenovo.
    • Добавлена поддержка ARM-плат, SoC и устройств: Arm Morello, AMD (Xilinx) Versal NET, Google Pixel Pro 6, NetCube Kumquat, MYIR Remi Pi, Huawei Matebook E Go, Milk-V Jupiter ST STM32MP2, Mediatek MT8370, Apple T2, Skov (i.MX8MP), EVK (i.MX95), Rockchip RK35xx, Allwinner A523, 11 плат Toradex на базе i.MX6.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 6.15 - Linux-libre 6.15-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.15 нейтрализована загрузка блобов в драйверах nova, Qualcomm iris v4l2, Airoha NPU, Tehuti Networks TN40xx 10G ethernet, Realtek 8814A wifi, Apple Silicon SoC touchscreen, Renesas UFS и aw88166 audio. Прекращена чистка драйвера Spider 1Gb ethernet, который был удалён из состава ядра. Удалены ссылки на тивоизированные бинарные файлы. Реализована блокировка загрузки блобов из кода на языке Rust.

Источник: https://www.opennet.ru/opennews/art.shtml?num=63305