The OpenNET Project / Index page

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

·31.07 Перехвачены 4 учётные записи в PyPI и выпущены вредоносные релизы num2words (6)
  Раскрыта информация о жертвах фишинга, о котором на днях предупреждали администраторы репозитория Python-пакетов PyPI (Python Package Index). В результате рассылки сообщений с уведомлением о необходимости подтвердить свой email, которые ссылались на поддельный сайт pypj.org (буква "j" вместо "i"), удалось захватить учётные записи 4 сопровождающих.

В итоге злоумышленниками были сгенерированы два токена для доступа к API и опубликовано два релиза проекта num2words (0.5.15 и 0.5.16), содержащих вредоносный код. Модуль num2words, который имеет более 3 млн загрузок в месяц, предоставляет функции для преобразования чисел в текстовое представление. Вредоносные релизы num2words были удалены администраторами PyPI через час после публикации.

Для обхода защиты учётной записи при помощи двухфакторной аутентификации атакующие использовали прозрачное проксирование трафика с фишингового сайта pypj.org на реальный сайт pypi.org, из-за которого у пользователя создавалось ощущение работы с реальным каталогом PyPI. Страница входа также проксировалась и атакующие контролировали не только изначально введённый пароль входа, но и ответ на проверочный запрос второго фактора аутентификации.

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

  1. Главная ссылка к новости
  2. OpenNews: Фишинг-атака на сопровождающих Python-пакеты в репозитории PyPI
  3. OpenNews: NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода
  4. OpenNews: Google представил проект OSS Rebuild для выявления скрытых изменений в пакетах
  5. OpenNews: Фишинг позволил получить контроль над несколькими популярными NPM-пакетами
Обсуждение (6) | Тип: Проблемы безопасности |


·31.07 Mozilla China прекращает предоставление сервисов для Firefox в Китае (7)
  Компания Mozilla China объявила о сворачивании предоставляемых в Китае сервисов для пользователей Firefox. С 27 июля остановлена регистрация в китайских вариантах сервисов Firefox Accounts (accounts.firefox.com.cn) и Firefox Community, а также заблокирована возможность публикации сообщений и комментариев в форуме. С 29 сентября сайт firefox.com.cn, форум (mozilla.com.cn), домашняя страница (home.firefoxchina.cn), ресурсы для загрузки и обновления версии Firefox для Китая, а также сервисы для поддержания учётных записей и синхронизации настроек (Firefox Sync) прекратят работу.

Для установки Firefox китайским пользователям предложено использовать основные страницы загрузки от компании Mozilla. Для пользователей китайского варианта Firefox Accounts предоставлена возможность экспорта резервной копии данных. Поддержка пользователей и сопровождение сервисов для Китая в дальнейшем будет осуществляться либо силами Mozilla, либо новым авторизованным партнёром.

Компания Mozilla China была создана в 2005 году для продвижения Firefox в Китае, сопровождения сайта firefox.com.cn для китайских пользователей и поддержания площадки для дискуссий на китайском языке. Компания разрабатывала адаптированные для Китая сборки Firefox. Использование товарных знаков Mozilla производилось по договорённости с организацией Mozilla Foundation. В мае этого года Mozilla Foundation и Mozilla China достигли соглашения, в соответствии с которым Mozilla China прекратит управлять связанным с Firefox бизнесом на территории материкового Китая.

  1. Главная ссылка к новости
  2. OpenNews: Mozilla свернула проект DeepSpeech, развивавший движок распознавания речи
  3. OpenNews: Mozilla сворачивает сервис Pocket и дополнение Fakespot
  4. OpenNews: Mozilla развивает Thunderbird Pro и сервис Thundermail в стиле Gmail и Office 365
  5. OpenNews: Компания Mozilla выступила против запрета отчислений за трафик поисковой системе Google
  6. OpenNews: Mozilla переходит к поставке Firefox с условиями использования
Обсуждение (7) | Тип: К сведению |


·31.07 Уязвимость в SUSE Manager, позволяющая выполнять root-операции без аутентификации (31 +4)
  В инструментарии SUSE Manager, предназначенном для централизованного управления IT-инфраструктурой, в которой используются различные дистрибутивы Linux, выявлена уязвимость (CVE-2025-46811), позволяющая без аутентификации выполнять команды на любых системах, обслуживаемых через SUSE Manager. Команды выполняются с правами root, что позволяет получить полный контроль над всей инфраструктурой. Проблеме присвоен критический уровень опасности (9.3 из 10).

Уязвимость вызвана наличием обработчика, принимающем команды через протокол WebSocket (вызов "/rhn/websocket/minion/remote-commands"), не ограничивая при этом доступ. Любой пользователь, имеющий возможность отправки пакетов на сетевой порт 443 на сервере с SUSE Manager, может выполнить произвольные команды с правами root на всех системах, управляемых через SUSE Manager. Для обращения без аутентификации достаточно просто не отправлять идентификатор сеанса (SessionId) при формировании запроса.

Проблема проявляется как в отдельно распространяемых сборках SUSE Manager, так и в установочных образах и контейнерах с SUSE Linux, поставляемых с SUSE Manager (например, SLES15-SP4-Manager-Server). Уязвимость присутствует вплоть до версии SUSE Manager 5.0.4.1 и устранена в обновлениях 4.3.16 и 5.0.5.

  1. Главная ссылка к новости
  2. OpenNews: Компания Novell представила SUSE Manager, клон Red Hat Network Satellite
  3. OpenNews: Уязвимость в приложении openSUSE-welcome, позволяющая выполнить код под другим пользователем
  4. OpenNews: Уязвимости в Pagure и OBS, допускавшие компрометацию пакетов в репозиториях Fedora и openSUSE
  5. OpenNews: Релиз Spacewalk 1.0, свободной платформы для управления Linux-инфраструктурой
  6. OpenNews: Через уязвимость в WordPress атакующие подменили страницы сайта openSUSE
Обсуждение (31 +4) | Тип: Проблемы безопасности |


·31.07 Компания Vivo открыла код ядра BlueOS, написанного на языке Rust (223 +32)
  Компания Vivo, занимающая около 10% мирового рынка смартфонов (5 место среди производителей смартфонов), представила первый официальный открытый релиз ядра операционной системы BlueOS (Blue River OS). Операционная система BlueOS развивается с 2018 года и уже используется в умных часах серии Vivo Watch. Vivo также работает над применением BlueOS в умных очках, роботах, умных терминалах и потребительских AI-устройствах. Код ядра написан на языке Rust и открыт под лицензией Apache 2.0. На Rust также написаны системные фреймворки BlueOS.

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

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

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

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

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

  1. Главная ссылка к новости
  2. OpenNews: В Китае запущен спутник с real-time подсистемой ядра Linux, написанной на Rust
  3. OpenNews: Операционная система Munal на Rust
  4. OpenNews: Выпуск операционной системы Redox OS 0.9, написанной на языке Rust
  5. OpenNews: Ядро Maestro, написанное на Rust и частично совместимое с Linux
  6. OpenNews: Проект Asterinas развивает ядро на языке Rust, совместимое с Linux
Обсуждение (223 +32) | Тип: К сведению | Интересно


·30.07 Фишинг-атака на сопровождающих Python-пакеты в репозитории PyPI (37 +5)
  Администраторы репозитория Python-пакетов PyPI (Python Package Index) предупредили о выявлении фишинг-атаки, напоминающей недавнюю атаку на сопровождающих пакеты в репозитории NPM. Злоумышленники рассылали сообщения от имени PyPI с уведомлением о необходимости подтвердить свой email.

Сообщения отправлялись с адреса "noreply@pypj.org" и содержали ссылку на форму верификации email, ведущую на сайт pypj.org (от официального сайта pypi.org домен отличается буквой "j" вместо "i" с расчётом на невнимательность получателя). Содержимое сайта pypj.org повторяло сайт pypi.org. Пока нет сведений, удалось ли атакующим получить контроль над какими-либо проектами в PyPI. В ходе похожей атаки на NPM злоумышленники подобным образом обманули сопровождающих нескольких крупных JavaScript-проектов и выпустили обновления с вредоносным кодом для семи NPM-пакетов, в сумме насчитывающих более 100 млн загрузок в неделю.

Дополнение: В результате атаки удалось захватить учётные записи 4 разработчиков, сгенерировать два токена для доступа к API и опубликовать два релиза проекта num2words, содержащих вредоносный код. Модуль num2words имеет более 3 млн загрузок в месяц и содержит функции для преобразования чисел в текстовое представление.

  1. Главная ссылка к новости
  2. OpenNews: Инциденты с безопасностью в репозиториях PyPI и crates.io
  3. OpenNews: ИИ как новый вектор атаки на разработчиков ПО
  4. OpenNews: Подмена зависимости в Python-библиотеке, насчитывающей 40 млн загрузок в месяц
  5. OpenNews: Фишинг позволил получить контроль над несколькими популярными NPM-пакетами
  6. OpenNews: NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода
Обсуждение (37 +5) | Тип: Проблемы безопасности |


·30.07 Для OpenBSD подготовлен порт с классической средой рабочего стола CDE (65 +21)
  В коллекцию портов OpenBSD добавлена классическая среда рабочего стола CDE (Common Desktop Environment), разработанная в начале девяностых годов совместными усилиями компаний Sun Microsystems, HP, IBM, DEC, SCO, Fujitsu и Hitachi, и на протяжении многих лет поставляемая в качестве штатного графического окружения Solaris, HP-UX, IBM AIX, Digital UNIX и UnixWare. В 2012 году код CDE 2.1 был открыт консорциумом The Open Group под лицензией LGPL.

В состав входит XDMCP-совместимый менеджер входа, менеджер пользовательских сеансов, оконный менеджер, панель CDE FrontPanel, менеджер рабочего стола, шина для обеспечения межпроцессного взаимодействия, инструментарий для рабочего стола, средства для разработки приложений на shell и Cи, компоненты для интеграции сторонних приложений. Для формирования интерфейса используется библиотека Motif.

  1. Главная ссылка к новости
  2. OpenNews: Релиз OpenBSD 7.7
  3. OpenNews: MinC - похожее на Cygwin окружение для Windows с утилитами из OpenBSD
  4. OpenNews: В OpenBSD обеспечена поддержка среды рабочего стола KDE 6
  5. OpenNews: Выпуск окружения рабочего стола CDE 2.5.0
  6. OpenNews: Выпуск пользовательского окружения NsCDE 2.3
Обсуждение (65 +21) | Тип: К сведению |


·30.07 Эксперимент по использованию AI для перевода приложения с GTK2 и OpenGL на GTK4 и Vulkan (314 +20)
  Кристиан Шаллер (Christian Schaller), возглавляющий Fedora Desktop Team и группу по развитию десктоп-систем в компании Red Hat, опубликовал результаты оценки пригодности применения больших языковых моделей в процессе разработки графических приложений для Linux. В качестве эксперимента он воспользовался AI-ассистентом Claude для перевода устаревшего графического приложения Xtraceroute на актуальные технологии.

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

Было:

Стало:

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

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

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

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

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

  1. Главная ссылка к новости
  2. OpenNews: Google использовал большую языковую модель для выявления уязвимости в SQLite
  3. OpenNews: Удалённая уязвимость в модуле ksmbd ядра Linux, выявленная при помощи AI
  4. OpenNews: Браузерные дополнения вовлекают в построение распределённой сети скрапинга для AI-ботов
  5. OpenNews: Оценка эффективности применения AI-инструментов выявила замедление, а не ускорение разработки
  6. OpenNews: Представлены правила для AI-ассистентов, применяемых при разработке ядра Linux
Обсуждение (314 +20) | Тип: Тема для размышления |


·30.07 В драйвер PanVK добавлена поддержка Vulkan 1.4 (45 +11)
  Компания Collabora объявила о реализации в Vulkan-драйвере PanVK поддержки графического API Vulkan 1.4 для устройств с GPU ARM на базе архитектуры V10, таких как Mali-G610 и Mali-G310. Изменения включены в кодовую базу Mesa и будут предложены пользователям в выпуске Mesa 25.2, находящемся на стадии кандидата в релизы. В текущем стабильном выпуске Mesa 25.1 в PanVK поддерживается лишь версия Vulkan 1.2.

Из планов по дальнейшему развитию драйвера PanVK упоминается сертификация поддержки Vulkan 1.4 в консорциуме Khronos, проведение оптимизации производительности DDK при выполнении типовых задач, улучшение совместимости с существующими приложениями и реализация поддержки дополнительных расширений Vulkan. Отдельно отмечается намерение повысить производительность для старых поколений GPU Mali, таких как Bifrost (V6 и V7), и обеспечить поддержку Vulkan для первых поколений GPU семейства Valhall (V9).

  1. Главная ссылка к новости
  2. OpenNews: В драйвере PanVK сертифицирована поддержка Vulkan 1.2
  3. OpenNews: В Vulkan-драйвер PanVK добавлена поддержка GPU ARM на базе архитектуры V10
  4. OpenNews: Опубликован графический стандарт Vulkan 1.4
  5. OpenNews: В свободном драйвере Panfrost обеспечена поддержка GPU Mali Valhall
  6. OpenNews: Драйвер Panfrost сертифицирован на совместимость с OpenGL ES 3.1 для GPU Mali серии Valhall
Обсуждение (45 +11) | Тип: К сведению |


·29.07 Лидера проекта OpenPrinting уволили из Canonical (266 +19)
  Компания Canonical уволила Тилля Кампетера (Till Kamppeter), лидера проекта OpenPrinting, развивающего компоненты для обеспечения вывода на печать в Linux (среди прочего, с 2021 года в проект OpenPrinting переведена разработка сервера печати CUPS, после того как компания Apple потеряла интерес к разработке проекта для платформ, отличных от macOS). Тилль является сооснователем OpenPrinting и занимается сопровождением проекта с момента его создания в 2001 году. С 2006 года Тилль был трудоустроен в компании Canonical, в которой он занимался развитием системы печати для Linux.

Компания Canonical не прокомментировала увольнение, но предполагается, что увольнение связано с сокращением сотрудников, удалённо работающих или занятых внешним проектом. По словам Тилля он получил сообщения от более 30 работников Canonical, которые выразили недоумение решением по его увольнению, так как он проделывал значимую работу по поддержанию стека для вывода на печать и занимался сопровождением связанных с печатью пакетов для Ubuntu.

Из-за потери работы Тилль столкнулся с необходимостью как-то зарабатывать на жизнь и для продолжения развития OpenPrinting намерен перевести проект на финансирование за счёт спонсоров или найти работодателя, который по аналогии с Canonical позволил бы ему заниматься проектом OpenPrinting на своём рабочем месте. Также ведётся обсуждение перевода OpenPrinting в разряд организаций, получающих финансирование через Linux Foundation.

  1. Главная ссылка к новости
  2. OpenNews: Проект OpenPrinting взял на себя разработку системы печати CUPS
  3. OpenNews: Проект OpenPrinting начал развитие форка системы печати CUPS
  4. OpenNews: Из новой версии CUPS будут изъяты некоторые используемые в Linux возможности
  5. OpenNews: Создатель Poky займется в Linux Foundation развитием Linux для встраиваемых систем
  6. OpenNews: Проект OpenPrinting выпустил систему печати CUPS 2.4.0
Обсуждение (266 +19) | Тип: К сведению |


·29.07 Выпуск системной библиотеки Glibc 2.42 и набора утилит GNU Binutils 2.45 (133 +18)
  После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library 2.42 (glibc), которая полностью следует требованиям стандартов ISO C23 и POSIX.1-2024. В создании нового выпуска приняли участие 70 разработчиков.

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

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

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

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

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

  1. Главная ссылка к новости
  2. OpenNews: Уязвимость в Glibc, затрагивающая статически собранные suid-файлы с dlopen
  3. OpenNews: Выпуск системной библиотеки Glibc 2.41
  4. OpenNews: Уязвимость в OpenSSH, позволяющая удалённо выполнить код с правами root на серверах с Glibc
  5. OpenNews: Уязвимость в Glibc, эксплуатируемая через скрипты на PHP
  6. OpenNews: Выпуск GNU Binutils 2.44
Обсуждение (133 +18) | Тип: Программы |


·28.07 Релиз ядра Linux 6.16 (161 +41)
  После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.16. Среди наиболее заметных изменений: драйвер для ускорения OpenVPN, механизм Kexec HandOver, включение по умолчанию пятиуровневых таблиц страниц памяти для x86, удаление протокола DCCP, блочный драйвер zloop, возможность отправки core-дампов через UNIX-сокет, поддержка атомарной записи в XFS, offload-обработка звука для USB-устройств, оптимизации в Ext4, виртуальный драйвер TPM (Trusted Platform Module), полноценная реализация Device Memory TCP, поддержка неименованных каналов в io_uring, подготовка к интеграции DRM-драйвера Asahi, механизм "usermode queue" в драйвере AMDGPU, поддержка Intel TDE (Trusted Domain Extensions) и Intel APE (Advanced Performance Extensions).

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

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

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

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

  1. Главная ссылка к новости
  2. OpenNews: Релиз ядра Linux 6.15
  3. OpenNews: Релиз ядра Linux 6.14
  4. OpenNews: Релиз ядра Linux 6.13
  5. OpenNews: Релиз ядра Linux 6.12 с поддержкой Realtime-режима
  6. OpenNews: Релиз ядра Linux 6.11
Обсуждение (161 +41) | Тип: Программы | Интересно


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

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

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

  • Проведена оптимизация компромиссов качество/скорость для пресетов, выставляющих средний и высокий уровень качества. В режиме "fast-decode 0" для пресетов M1-M5 скорость возросла на 15-25% при сохранении уровня качества. В режимах fast-decode 1 и 2 для пресетов M3-M7 скорость возросла на 15-20% при сохранении уровня качества. Для пресетов M0 и MR уровень качества повышен примерно на 1-1.5% при оценке при помощи метода BD-Rate (Bjontegaard-Delta).
  • Значительно улучшена работа режима кодирования с низкой задержкой (Low Delay).
  • На 5-10% повышена производительность в режиме RTC.
  • На системах ARM задействованы оптимизации на базе расширений Neon и SVE2, позволившие на 5% повысить производительность кодирования потоков в низком разрешении с высокой глубиной цвета.
  • На системах ARM повышена производительность кодирования видео в ландшафтном (1080p +4%, 720p +6%, 480p: +6%, 360p: +3%, 240p: +4%) и портретном (1080p +8%, 720p +4%, 480p +3%, 360p +7%, 240p +4%) режимах.
  • В режиме случайного доступа реализована поддержка S-кадров.
  • Из форка SVT-AV1-SPY перенесена реализация флагов "--chroma-qm-min" и "--chroma-qm-max", а также перенесены улучшения, связанные с Variance Boost (реализация алгоритма адаптивного квантования VAQ).
  • В режиме RTC включены пресеты M11 и M12.

Дополнение: Опубликован выпуск SVT-AV1-HDR 3.1.0, редакции кодека SVT-AV1 3.1.0, оптимизированной для кодирования HDR-контернта. Некоторые оптимизации в SVT-AV1-HDR также полезны и для обычного видео.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск SVT-AV1 3.0, кодировщика для формата видео AV1
  3. OpenNews: Набор POSIX-утилит и декодировщик AV1, написанные на Rust
  4. OpenNews: Уязвимость в эталонных реализациях кодеков AV1 и VP8/VP9
  5. OpenNews: Разработчики кодека AV1 представили формат IAMF для объёмного звука
  6. OpenNews: Выпуск dav1d 1.0, декодировщика AV1 от проектов VideoLAN и FFmpeg
Обсуждение (114 +24) | Тип: Программы |


·27.07 NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода (34 +7)
  Администраторы репозитория NPM по ошибке заблокировали пакет Stylus, распознав в нём несуществующее вредоносное ПО. Через 12 часов после отправки жалобы в NPM проблема была отмечена как не соответствующая действительности, объявление о наличии вредоносного ПО было отозвано, а пакет восстановлен в репозитории.

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

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


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

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

  1. Главная ссылка к новости
  2. OpenNews: Нарушение обратной совместимости в популярном NPM-пакете привело к сбоям в различных проектах
  3. OpenNews: Сбой антиспам-системы привёл к коллапсу в репозитории NPM
  4. OpenNews: Инцидент с захватом прав на NPM-модуль привёл к сбою в работе проектов, использующих NPM
  5. OpenNews: Фишинг позволил получить контроль над несколькими популярными NPM-пакетами
  6. OpenNews: Атака на зависимости позволила выполнить код на серверах PayPal, Micrоsoft, Apple, Netflix, Uber и ещё 30 компаний
Обсуждение (34 +7) | Тип: Проблемы безопасности |


·27.07 Выпуск дистрибутива Slackel 8.0 (47 +8)
  Опубликован выпуск дистрибутива Slackel 8.0, построенного на наработках проектов Slackware и Salix, и полностью совместимого с предлагаемыми в них репозиториями. Ключевым отличием Slackel является использование постоянно обновляемой ветки Slackware-Current. Графическое окружение основано на оконном менеджере Openbox. Размер загрузочного образа, способного работать в Live-режиме, 3.6 ГБ (i386 и x86_64).

Новый выпуск синхронизирован с веткой Slackware Current и поставляется с ядром Linux 6.12.39. Обновлены версии программ, среди которых firefox 140.0.4, thunderbird 140.0.1esr, libreoffice 25.2.1, GIMP 3.0.4, smplayer 25.6.0, mpv 0.40.0, MPlayer 20250330, exaile 4.1.3, brasero 3.12.3, isomaster 1.3.17, pidgin 2.14.142 и transmission 2.94.

В дистрибутиве реализована поддержка пакетов в формате flatpak и задействованы разработанные проектом Slackel графические утилиты:

  • instonusb - установка на USB-накопитель;
  • multibootusb - организация загрузки нескольких систем с USB-накопителя;
  • SLI (Slackel Live Installer) - для установки на внешний или внутренний накопитель;
  • install-upgrade-kernel-ext-usb-gtk - GUI для обновления ядра в установках на USB-накопителе;
  • install-upgrade-kernel-gtk - GUI для обновления ядра на локальном накопителе.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск редакции дистрибутива Slackel 7.7 с рабочим столом MATE
  3. OpenNews: Опубликован Linux-дистрибутив Zenwalk 2023
  4. OpenNews: Релиз дистрибутива Slackware 15.0
  5. OpenNews: Релиз дистрибутива Porteus 5.01
  6. OpenNews: Новые версии дистрибутива Slax 15.0.3 и 12.1.0
Обсуждение (47 +8) | Тип: Программы |


·27.07 Обновление sudo 1.9.17p2 с устранением ошибки, отправлявшей SIGHUP всем процессам (57 +13)
  Доступен новый выпуск утилиты sudo 1.9.17p2, используемой для организации выполнения команд от имени других пользователей. В новом выпуске устранена проблема, приводившая при определённом стечении обстоятельств к отправке сигнала SIGHUP (потеря связи с терминалом) не запущенному процессу, а всем процессам в системе.

Проблема проявляется начиная с выпуска sudo 1.9.16 и вызвана использованием в отдельных случаях функции killpg() вместо kill() для завершения дочернего процесса. В отличие от функции kill() функция killpg() отправляет сигнал группе процессов, но в качестве группы может обрабатывать значения больше или равные 0. При передаче отрицательного значения группы поведение не определено и в некоторых системах может приводить к отправке сигнала процессу с номером 1 (init) и завершению работы всех процессов в системе.

В sudo может возникнуть ситуация, когда при запуске команды в псевдотерминале (PTY) команда не может быть корректно запущена и вместо PID библиотечные функции возвращают код ошибки "-1". Для отзыва доступа к терминалу в sudo запускается функция revoke_pty, которая использует в качестве идентификатора группы PID процесса при вызове функции killpg без должного анализа возвращённого ранее кода ошибки, что приводит в итоге к выполнению "killpg(-1, SIGHUP)".

Кроме того, в sudo исправлена проблема, приводящая к сбою при перехвате и проверке запускаемых команд в конфигурациях, использующих опции intercept и intercept_verify в файле sudoers. В Linux-системах, поддерживающих функцию ptrace_readv_string(), наблюдалось аварийное завершение процессов, размер аргументов командной строки или переменных окружения у которых превышал размер страницы памяти (обычно 4096 байт).

  1. Главная ссылка к новости
  2. OpenNews: Уязвимости в утилите sudo, позволяющие получить права root в системе
  3. OpenNews: В Ubuntu 25.10 решено задействовать аналог sudo, написанный на Rust
  4. OpenNews: Уязвимость в sudo, позволяющая изменить любой файл в системе
  5. OpenNews: Леннарт Поттеринг представил run0, замену sudo, интегрированную в systemd
  6. OpenNews: Использование SSH поверх UNIX-сокета вместо sudo для избавления от suid-файлов
Обсуждение (57 +13) | Тип: К сведению |


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



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

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