· | 08.06.2025 | Композитный сервер Hyprland удалён из Debian Testing и не войдёт в релиз Debian 13 (172 +15) |
Композитный сервер Hyprland и сопутствующие пакеты, такие как hyprland-protocols и hyprutils, удалены из репозитория Debian Testing и не будут включены в стабильный релиз Debian 13, находящийся на финальной стадии подготовки. В ветке Debian Unstable пакеты с Hyprland сохранены, но по-прежнему базируются на устаревшем выпуске 0.41.
Причиной исключения Hyprland из следующего стабильного релиза стала просьба сопровождающего, который заявил, что поставляемая в Debian-пакете версия Hyprland 0.41.2 сильно отстаёт от актуального состояния проекта (0.49) и для старой версии невозможно обеспечить поддержку на протяжении жизненного цикла Debian 13. Проект Hyprland находится на стадии активной разработки и регулярно формирует новые выпуски с изменениями, не сохраняющими обратную совместимость. Поддержание старой версии Hyprland силами сопровождающего Debian-пакет в таких условиях сильно усложнено. Переводу пакетов на новый выпуск мешает то, что в версии Hyprland 0.42 прекращено использование библиотеки wlroots в пользу собственной релизации протокола Wayland и библиотеки отрисовки Aquamarine. В старой версии Hyprland имеется проблема, приводящая в Debian Testing к аварийному завершению композитного сервера при смене виртуального терминала (TTY) или при переключении между мониторами. Сопровождающий Hyprland повысил статус данной проблемы до уровня, блокирующего выпуск релиза Debian 13 и требующего обязательного исправления ошибки. При этом устранить проблему без обновлении версии Hyprland или зависимостей не получается, а обновить версии невозможно из-за жёсткой заморозки состояния репозитория Debian Testing перед релизом (обновление версии может привести к появлению регрессий). Композитный сервер Hyprland ориентирован на мозаичную (tiling) компоновку окон, но поддерживает и классическое произвольное размещение окон, группировку окон в форме вкладок, псевдомозаичный режим и полноэкранное раскрытие окон. Среди возможностей: динамически создаваемые виртуальные рабочие столы; режимы компоновки элементов на экране; глобальная обработка горячих клавиш; управление жестами на тачпаде/сенсорном экране; средства для визуально насыщенных интерфейсов (градиенты в обрамлении окон, размытие фона, анимационные эффекты и тени); расширение через плагины Настройка осуществляется через файл конфигурации, изменения в котором подхватываются на лету без перезапуска. ![]() ![]()
| ||
Обсуждение (172 +15) |
Тип: К сведению |
| ||
· | 07.06.2025 | Linux Foundation развивает FAIR, децентрализованный пакетный менеджер для WordPress (95 –5) |
Организация Linux Foundation представила проект FAIR (Federated and Independent Repositories), предоставляющий децентрализованную альтернативу экосистеме распространения плагинов и тем оформления к WordPress. FAIR позволяет создавать на своих серверах собственные репозитории и зеркала для доставки плагинов, не зависимые от централизованного хостинга WordPress.org. Код написан на языке PHP и распространяется под лицензией GPLv2+.
Платформу образуют следующие компоненты:
FAIR может поставляться как форме обособленного плагина, так и в виде дистрибутива FAIR Distro, включающего платформу WordPress с предустановленными компонентами FAIR. Применение FAIR позволяет создавать обособленные инфраструктуры, не зависящие от возможных блокировок и защищённые от подмены пакетов в централизованном каталоге. Необходимость в независимом инструменте доставки дополнений возникла после инцидента, в результате которого владелец официального каталога плагинов Wordpress.org заменил плагин ACF на собственный форк и заблокировал доступ к каталогу дополнений компании WP Engine и всем кто обсуждал создание форка WordPress. Достоинства FAIR:
Разработка FAIR ведётся на нейтральной площадке под эгидой организации Linux Foundation. Управление осуществляется управляющим техническим комитетом и рабочими группами, принимающими решения на основе достижения консенсуса и учитывающими интересы и потребности сообщества. Все решения принимаются публично с использованием прозрачных процессов. В состав управляющего комитета вошли Кэрри Дилс (Carrie Dils, создавала курсы и руководства для web-разработчиков), Мика Эпштейн (Mika Epstein, ранее отвечала за репозиторий плагинов) и Райан МакКью (Ryan McCue, один из создателей WordPress REST API).
| ||
Обсуждение (95 –5) |
Тип: К сведению |
| ||
· | 06.06.2025 | Проект X11Libre создал форк X.Org Server, избавленный от влияния корпораций (400 +88) ↻ |
В рамках проекта X11Libre началась разработка форка X.org Server, нацеленного на проведение чистки кодовой базы и продолжение активного развития функциональности X.org. Проект создал Энрико Вайгельт (Enrico Weigelt), мэйнтейнер драйверов AMD FCH GPIO и VIRTIO GPIO в ядре Linux, мэйнтейнер Xnest и активный разработчик Xorg (1831 коммит за последние два года). В анонсе проекта Энрико отметил, что проект freedesktop.org не является независимым и контролируется компанией Red Hat, которая, по его мнению, специально тормозит развитие X-сервера и пытается похоронить проект X11 (ранее Энрико подвергался критике со стороны Линуса Торвальдса за склонность к теориям заговора).
После действий, связанных с созданием форка и попыток привлечь внимание к возрождению работы над X-сервером, Карол Хербст (Karol Herbst, сотрудник Red Hat и борец за инклюзивность в сообществе) заблокировал Энрико доступ к GitLab-инфраструктуре freedesktop.org, удалил его репозитории и закрыл более 140 отправленных запросов на передачу изменений (изменения были не без претензий к качеству). В ответ Энрико пригласил всех желающих подключиться к разработке X11Libre на GitHub. По мнению Энрико, у сообщества есть интерес к продолжению развития X.org и за время искусственного сдерживания разработки у проекта X.org накопилось большое число не принятых изменений и улучшений. Первый релиз форка планируется опубликовать в ближайшие дни. Проект X11Libre будет полностью независим, не связан с какими-либо корпорациями или активистами и избавлен от любых дискриминационных политик, таких как "DEI" (разнообразие, равенство и инклюзивность). Любой, кто доброжелательно относится к окружающим и заинтересован в продвижении X11, может участвовать в работе. Среди изменений в будущем релизе X11Libre:
Дополнение: От Энрико поступали плохо протестированные изменения, которые, например, ломали работу xrandr и приводили к зависаниям. Другие разработчики были недовольны проводимой Энрико чисткой кода, из-за которой в master-ветке X.org постоянно менялся ABI и возникали сбои со сборкой. В итоге, было предложено прекратить принимать изменения от Энрико, так как его деятельность по чистке кодовой базы не устраняла конкретных ошибок и не решала существующие проблемы, а создавала новые проблемы.
| ||
Обсуждение (400 +88) ↻ |
Тип: К сведению |
| ||
· | 06.06.2025 | Представлен бэкенд TPDE-LLVM, работающий в 10-20 раз быстрее LLVM в режиме без оптимизации (50 +16) ↻ |
Исследователи из Мюнхенского технического университета опубликовали инструментарий TPDE и основанный на нём бэкенд компилятора для LLVM - TPDE-LLVM, обеспечивающий генерацию машинного кода для архитектур x86-64 и AArch64 на основе промежуточного представления кода LLVM-IR. При тестировании TPDE-LLVM оказался быстрее бэкенда LLVM -O0 (генератор кода без оптимизаций) в 10-20 раз при том же уровне производительности результирующего машинного кода и увеличении размера на 10-30%. Наработки проекта опубликованы под лицензией Apache 2.0.
TPDE-LLVM изначально нацелен на обеспечение компиляции с минимальными задержками и уровнем качества, соответствующим режиму сборки без оптимизаций ("-O0"). Проектом предоставляется утилита для обособленного запуска tpde-llc, библиотека для интеграции в приложения (например, для реализации функциональности JIT-компилятора) и патчи для интеграции с Clang и Flang.
![]() Проект может использоваться в качестве базового компилирующего компонента для JIT или для создания неоптимизированных сборок. TPDE-LLVM сосредоточен только на скорости компиляции и не пытается конкурировать с оптимизирующими бэкендами LLVM, которые по сравнению с TPDE-LLVM работают существенно медленнее, но позволяют генерировать более быстрый и компактный машинный код (примерно в 2 раза быстрее и в 2 раза меньше по размеру). TPDE-LLVM использует для генерации кода три стадии:
![]() Отмечается, что при участии авторов TPDE в ветки LLVM 19 и 20 уже добавлены оптимизации, позволившие ускорить работу штатного бэкенда LLVM на 18% на платформе x86-64 и на 13% на платформе ARM64. По мнению авторов TPDE, в будущем малой кровью можно будет ускорить бэкенд LLVM ещё возможно на 10-20%, но дальнейшее повышение производительности потребует значительных изменений. При этом даже при значительной переработке маловероятно, что существующий бэкенд LLVM удастся ускорить в 10 раз. На текущем этапе развития среди целей проекта TPDE заявлено обеспечение поддержки промежуточного представления кода LLVM, полученного фронтэндом Clang в режимах оптимизации "-O0" и "-O1". Обработка промежуточного представления, созданного в режиме "-O2", пока не гарантируется из-за отсутствия поддержки в TPDE векторных операций. Частично поддерживается промежуточный код от Flang и компилятора Rust. Дополнение: По скорости компиляции и производительности результирующего кода, TPDE не имеет существенных отличий от ранее доступного бэкенда DirectEmit. Однако, TPDE кратно меньше по объёму собственного кода, в том числе архитектурно-зависимых частей. При этом существенная часть кода TPDE приходится на интерпретацию семантики входящего промежуточного представления кода, получаемого от LLVM.
| ||
Обсуждение (50 +16) ↻ |
Тип: Программы |
| ||
· | 06.06.2025 | Выпуск графического тулкита wxWidgets 3.3.0 (97 +15) |
После трёх лет разработки опубликован выпуск кроссплатформенного тулкита wxWidgets 3.3.0, позволяющего создавать графические интерфейсы для Linux, Windows, macOS, UNIX-подобных систем и мобильных платформ. Тулкит написан на языке С++ и распространяется под свободной лицензией wxWindows Library License, одобренной Фондом СПО и организацией OSI. Лицензия основана на LGPL и позволяет задавать собственные условия для распространения производных работ в бинарной форме.
Помимо поддержки С++ в wxWidgets предоставляются обвязки для большинства популярных языков программирования, в числе которых PHP, Python, Perl, Haskell и Ruby. Интерфейс в приложениях, использующих wxWidgets, имеет родной для целевой системы внешний вид, благодаря использованию системных API, а не имитации GUI. wxWidgets 3.3.0 позиционируется как ветка для разработчиков, в которой развиваются новые возможности для следующего стабильного релиза 3.4.0. При этом ветка wxWidgets 3.3.0 отмечена как пригодная для использования в рабочих проектах - отличие от стабильных веток в том, что в промежуточных выпусках веток для разработчиков допускается внесение в ABI и API изменений, нарушающих совместимость. Нарушающие совместимость изменения носят единичный характер и в целом ветка 3.3 почти полностью совместима с wxWidgets 3.2 на уровне API. Основные новшества:
| ||
Обсуждение (97 +15) |
Тип: Программы |
| ||
· | 05.06.2025 | Canonical прекратит поддержку Bazaar в платформе Launchpad (87 +8) |
Компания Canonical анонсировала прекращение поддержки системы управления версиями Bazaar в платформе Launchpad, применяемой в процессе разработки Ubuntu для совместной работы с кодом, отслеживания ошибок, рецензирования изменений, сборки и размещения пакетов. Изначально платформа Launchpad поддерживала управление версиями только через систему Bazaar. В 2015 году в Launchpad была добавлена поддержка Git, которая со временем стала основной системой управления изменениями в коде.
Последний выпуск Bazaar был опубликован компанией Canonical в 2016 году, после чего разработка затормозилась и проект так и не был портирован на Python 3 (выпуск Bazaar 2.8, в котором ожидался переход на Python 3, так и остался в планах). Отмечается, что Bazaar и Git обладают схожей функциональностью и после повсеместного распространения Git и снижения популярности Bazaar, нет смысла продолжать предоставлять хостиг репозиториев Bazaar в Launchpad. Поддержание на плаву подобного хостинга требует значительных ресурсов на разработку и инфраструктуру, которые можно будет потратить на более полезные вещи. В 2018 году заинтересованные в Bazaar энтузиасты основали форк - Breezy (brz), в котором было выполнено портирование на Python 3 и добавлена опциональная поддержка формата хранилища Git. Breezy сочетает в себе возможности децентрализованных (git/hg) и централизованных систем управления версиями (cvs/svn), и поддерживает такие возможности, как извлечение (checkout) содержимого репозитория в стиле Subversion, отдельные ветки для работы над новыми функциями в стиле Mercurial и возможность совместной работы нескольких разработчиков с одной рабочей копией репозитория по аналогии с Git. Система продолжает активно развиваться - свежий выпуск Breezy 3.3.12 был опубликован две недели назад. Прекращение поддержки Bazaar в Launchpad будет осуществлено в две стадии. На первой стадии в Launchpad будет отключён web-фронтэнд, применяемый для навигации по коду в репозиториях Bazaar. Анализ логов показал, что подобным интерфейсом уже почти никто не пользуется, а почти все запросы связаны с активностью ботов. На второй стадии будет отключён бэкенд хостинга кода, что приведёт к невозможности совершения операций pull, push и merge с размещавшимися в Launchpad репозиториями Bazaar. Дата запуска первой стадии пока не определена (сказано - в ближайшее время). Вторая стадия намечена на 1 сентября 2025 года. До 1 сентября пользователям Launchpad следует перевести свои репозитории с Bazaar на Git.
| ||
Обсуждение (87 +8) |
Тип: К сведению |
| ||
· | 04.06.2025 | Опубликована децентрализованная видеовещательная платформа PeerTube 7.2 (90 +16) |
Опубликован выпуск платформы PeerTube 7.2, предназначенной для создания независимых децентрализованных систем видеохостинга и видеовещания, альтернативных таким сервисам, как YouTube, Dailymotion и Vimeo. Создаваемая при помощи PeerTube сеть распространения контента основывается на связывании браузеров посетителей между собой и использовании P2P-коммуникаций. Код проекта распространяется под лицензией AGPLv3.
PeerTube даёт возможность запустить собственный сервер для распространения видео и подключить его к общей федеративной сети. Посетители участвуют в доставке контента и имеют возможность подписки на каналы и получения уведомлений о новых видео, независимо от того, какой именно сервер они используют. Федеративная сеть PeerTube образуется как содружество связанных между собой небольших серверов хостинга видео, на каждом из которых имеется свой администратор и приняты свои правила. Для взаимодействия серверов в федеративной сети применяется протокол ActivityPub. Идентификатор пользователя формируются как "@имя_пользователя@домен_сервера". При просмотре видео данные по возможности загружаются через обращение к браузерам других посетителей, просматривающих тот же контент. Если запрошенное видео никто не просматривает, отдача организуется сервером, на который загружено видео (используется протокол WebSeed). Помимо распределения трафика между пользователями, просматривающими видео, PeerTube позволяет серверам кэшировать видео других авторов. Таким образом формируется распределённая сеть не только из клиентов, но и из серверов, а также обеспечивается отказоустойчивость. Кроме распространения готового видео имеется поддержка потокового вещания (live streaming) с доставкой контента в режиме P2P. Для управления стримингом могут использоваться типовые программы, такие как OBS. Для начала вещания через PeerTube пользователю необходимо загрузить на один из серверов видеоролик, описание и набор тегов. После этого ролик станет доступен во всей федеративной сети, а не только на сервере первичной загрузки. Для работы с PeerTube и участия в распространении контента достаточно обычного браузера. Распространять видео с использованием P2P-коммуникаций можно добавив на свой сайт специальный виджет со встроенным web-плеером, по аналогии с тем как на страницы встраиваются ролики с YouTube. Отслеживать появление видео можно через подписку на выбранные видеоканалы в федеративных социальных сетях (например, в Mastodon и Pleroma) или через RSS. В настоящее время в федеративную сеть входит 1357 серверов, поддерживаемых добровольцами и организациями. Если пользователя не устраивают правила размещения видео на определённом сервере PeerTube, он может подключиться к другому серверу или запустить свой собственный сервер. Для быстрого развёртывания сервера предоставляется преднастроенный образ в формате Docker (chocobozzz/peertube). Изначально платформа PeerTube основывалась на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузерами. Позднее вместо WebTorrent был задействован протокол HLS (HTTP Live Streaming) в связке с WebRTC, позволяющий адаптивно управлять потоком в зависимости от полосы пропускания. Web-интерфейс построен с использованием фреймворка Angular. Основные новшества PeerTube 7.2:
| ||
Обсуждение (90 +16) |
Тип: Программы |
| ||
· | 04.06.2025 | Сравнение производительности СУБД Valkey и Redis (120 +25) |
Представлены результаты тестирования свежих выпусков СУБД Redis 8.0 и Valkey 8.1, в которых были заявлены значительные оптимизации производительности. Во всех проведённых тестах развиваемый сообществом форк обогнал оригинальный проект, в основном благодаря внедрению в Valkey нового механизма для многопоточной обработки ввода/вывода в асинхронном режиме, переданного проекту компанией Amazon.
В тестовом окружении AWS Graviton4 c8g.2xlarge с 8 VCPU в Valkey 8.1.1 удалось добиться производительности в 999.8 тысяч SET-запросов в секунду, в то время как в Redis 8.0 был достигнут уровень в 729.4 тысяч запросов в секунду. В общем виде пропускная способность Valkey оказалась выше Redis на 37% для операций SET и на 16% для GET. При этом по сравнению с Redis проект Valkey продемонстрировал снижение задержек при обработке запросов на 30% для операций SET и на 60% для операций GET. ![]() Отдельно проведён анализ изменения пропускной способности и задержек в зависимости от числа параллельно выполняемых обработчиков в режиме многопоточной обработки ввода/вывода. До 3 потоков Valkey и Redis показывают примерно равные результаты, но затем вперёд вырывается Valkey. При 6 потоках на системе с 8 VCPU производительность Valkey составила 678 тысяч SET-запросов в секунду, а Redis - 563 тысячи запросов в секунду при лимите в 256 одновременных соединений. При увеличении соединений до 400 производительность Valkey выросла до 832 тысяч SET-запросов в секунду. ![]() После оптимизации обработки прерываний в системе для снижения числа переключения контекста в Valkey удалось поднять производительность до 999.8 тысяч SET-запросов в секунду. Суть оптимизации свелась к выделению 2 VCPU для обработки прерываний и привязки 6 оставшихся VCPU к потокам обработки ввода/вывода Valkey и Redis, чтобы исключить миграцию обработчиков между CPU. sudo ethtool -L ens34 combined 2 # ограничиваем до 2 число обработчиков IRQ grep ens34 /proc/interrupts # смотрим какие обработчики задействованы (99 и 100) echo 1 | sudo tee /proc/irq/99/smp_affinity # привязываем обработчик 99 к ядру 1 echo 2 | sudo tee /proc/irq/100/smp_affinity # привязываем обработчик 100 к ядру 2 # Запускаем СУБД (для Redis поменять valkey/valkey:8.1.1 на redis:8.0) c привязкой контейнера к ядрам CPU 2-7 docker run --network="host" --rm \ --cpuset-cpus="2-7" valkey/valkey:8.1.1 \ --save "" --appendonly no --io-threads 6 \ --protected-mode no --maxmemory 10gb Для тестирования производительности использовалась команда: docker run --network="host" --rm --cpuset-cpus="2-7" \ valkey/valkey:8.0.1 valkey-benchmark \ -h 172.31.4.92 -p 6379 -t SET,GET -n 100000000 -c 256 \ -r 3000000 --threads 6 -d 1024
| ||
Обсуждение (120 +25) |
Тип: Обобщение |
| ||
· | 03.06.2025 | Выпуск мобильной платформы /e/OS 3.0 (93 +15) |
Опубликован выпуск мобильной платформы /e/OS 3.0, сфокусированной на конфиденциальности пользовательских данных. Платформа основана Гаэлем Дювалем (Gaël Duval), создателем дистрибутива Mandrake Linux. Проект поддерживает 221 модель смартфонов и формирует сборки прошивок для наиболее популярных из них. На базе смартфонов OnePlus, Fairphone, Teracube и Pixel подготовлены собственные редакции устройств, распространяемые с предустановленной прошивкой /e/OS под брендами Murena One, Murena 2, Murena Fairphone 4/5, Murena Teracube 2e и Murena Pixel 5/7.
Прошивка /e/OS развивается как ответвление от платформы LineageOS (на базе Android), избавленное от привязки к сервисам и инфраструктуре Google для исключения передачи телеметрии на серверы Google и повышения уровня конфиденциальности. Среди прочего, блокируется и неявная отправка информации, например, обращения к серверам Google при проверке доступности сети, резолвинге DNS и определении точного времени. В поставку входит пакет microG, предлагающий независимые аналоги сервисов Google, что позволяет обойтись без установки проприетарных компонентов. Для определения местоположения по Wi-Fi и базовым станциям (без GPS) прослойка UnifiedNlp, способная работать через BeaconDB, OpenWlanMap, openBmap, OpenCellID, lacells.db и другие альтернативные сервисы. Вместо поисковой системы Google предлагается метапоисковый сервис Murena Find на основе поискового движка Qwant. метапоисковый сервис на основе форка движка Searx, анонимизирующий отправляемые запросы. Для синхронизации точного времени вместо обращения к NTP-серверу Google запросы отправляются на серверы из коллекции NTP Pool, а вместо DNS-серверов Google (8.8.8.8) используются DNS-серверы текущего провайдера. В web-браузере по умолчанию включён блокировщик рекламы и скриптов для отслеживания перемещений. Для синхронизации файлов и данных приложений разработан собственный сервис, совместимый с инфраструктурой на основе Nextcloud. Серверные компоненты основаны на открытом ПО и доступны для установки на подконтрольных пользователю системах. Интерфейс пользователя включает собственное окружение для запуска приложений BlissLauncher, улучшенную систему уведомлений, новый экран блокировки и иное стилевое оформление. В BlissLauncher задействован разработанный для /e/OS набор автоматически масштабируемых пиктограмм и отдельная подборка виджетов (например, виджет для показа прогноза погоды). Проектом также развивается собственный менеджер аутентификации, позволяющий использовать для всех сервисов единую учётную запись ([email protected]), регистрируемую в процессе первой установки. Учётную запись можно использовать для получения доступа к своему окружению с других устройств или через Web. В облаке Murena Cloud бесплатно предоставляется 1ГБ для хранения своих данных, синхронизации приложений и резервных копий. Среди входящих в состав приложений: почтовый клиент Mail (форк K9-Mail), web-браузер Cromite, (на базе Chromium), программа для работы с камерой OpenCamera, программа для отправки мгновенных сообщений QKSMS, система для ведения заметок nextcloud-notes, PDF-просмотрщик MJ PDF, планировщик opentasks, программа для работы с картами Magic Earth, галерея фотографий gallery3d, файловый менеджер, каталог приложений App Lounge. ![]() ![]() Основные изменения в /e/OS 3.0:
| ||
Обсуждение (93 +15) |
Тип: Программы |
| ||
· | 03.06.2025 | Facebook и Yandex использовали свои Android-приложения для деанонимизации сеансов в браузерах (424 +57) |
Компании Meta* и Yandex уличили в скрытом отслеживании пользователей и манипуляциях для обхода предоставляемых браузерами средств обеспечения конфиденциальности, таких как режим инкогнито и возможность очистки Cookie. Активность по деанонимизации сеансов применялась на платформе Android при открытии сайтов, использующих системы web-аналитики Яндекс Метрика или Facebook Pixel.
Суть использованного метода идентификации сводится к тому, что распространяемые Meta и Yandex мобильные приложения для Android, такие как Facebook, Instagram, Yandex Maps, Yandex Navigator, Yandex Search, Yandex Go: Taxi Food и Yandex Browser, создавали дополнительный канал связи с выполняемым в браузере JavaScript-кодом. Мобильные приложения запускали отдельные обработчики соединений на локальном сетевом интерфейсе (127.0.0.1), принимающие запросы по протоколам HTTP, HTTPS, WebSocket и WebRTC. ![]() При открытии в браузере сайтов, использующие системы web-аналитики Yandex Metric или Facebook Pixel, связанный с данными системами JavaScript-код отправлял запросы на открытые мобильными приложениями сетевые порты. В запросах передавались метаданные, Cookie и управляющие команды. В мобильных приложениях браузерные сеансы связывались с реальными идентификаторами пользователя и устройства, к которым имели доступ приложения. Например, сеансы могли связываться с учётными записями в Facebook и Yandex или с идентификаторами AAID (Android Advertising ID). Таким образом, даже при открытии сайта в режиме инкогнито или после удаления Cookie, сервисы Meta и Yandex могли точно идентифицировать пользователя, открывшего сайт, привязываясь к идентификаторам из мобильных приложений, запущенных на том же устройстве. ![]() Реализованная техника представляла опасность не только из-за утечки информации в Facebook и Yandex, но и из-за возможности использования вредоносными приложениями. Сетевые порты, на которые отправлялись сведения об активности в браузере, могли использовать любые приложения для отслеживания активности пользователя и построения истории посещений, а не только приложения Facebook и Yandex. Компании Facebook и Yandex воспользовались тем, что платформа Android не ограничивает создание слушающих сокетов в привязке к интерфейсу loopback (127.0.0.1), если приложение имеет полномочия INTERNET. В случае Facebook локальному приложению передавалось содержимое Cookie "_fbp" (уникальный идентификатор пользователя в Facebook Pixel). Через манипуляции с WebRTC содержимое подставлялось в поле "ice-ufrag" пакетов SDP, отправляемых в STUN-запросах на локальный хост. 17 мая в Chrome была заблокирована подобная возможность и скрипты Facebook Pixel перевели на использование WebRTC TURN. После раскрытия результатов исследования компания Meta удалила из скриптов Facebook Pixel отправку запросов на localhost. ![]() В Яндекс метод отправки данных из браузера в мобильные приложения применялся с 2017 года. JavaScript-код сервиса Yandex Metrica устанавливал HTTP- или HTTPS-соединение с localhost по сетевым портам 29009, 29010, 30102 и 30103. Обращения отправлялись на сайт yandexmetrica.com, доменное имя которого резолвилось в IP-адрес 127.0.0.1. Информация о сетевых портах, на которых мобильные приложения Yandex должны были открыть слушающие сокеты, подгружалась динамически через запрос к хосту startup.mobile.yandex.net. Сервер также передавал параметр first_delay_seconds, содержащий задержку перед запуском сетевых сервисов (приложения начинали принимать соединения не сразу после установки, а примерно через три дня). В ответ на HTTP-запрос мобильное приложение возвращало набор данных, включающий идентификаторы в сервисах Yandex, системные UUID и AAID (Android Advertising ID). JavaScript код Yandex Metric переправлял полученные идентификаторы на сервер mc.yango.com. ![]() Упомянутые методы передачи данных работали в версиях Chrome и Edge для Android. В Firefox работал только метод Yandex. В DuckDuckGo и Brave отправка запросов к localhost блокировалась или требовала ручного подтверждения операции. В представленном в конце мая выпуске Chrome 137 была добавлена защита от подстановки данных в SDP. Для защиты от рассмотренных злоупотреблений развивается спецификация PNA (Private Network Access), дающая возможность ограничить обращение к хостам во внутренней сети (127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8 и т.п.). Пробное внедрение данной спецификации в Chrome оказалось неудачным из-за возникновения проблем с совместимостью с некоторыми устройствами. В настоящее время развивается второй вариант спецификации - LNA (Local Network Access), для поддержки которой не требуется изменение на стороне устройств и достаточно изменений на стороне сайтов, которым нужен доступ к интранет-ресурсам.
| ||
Обсуждение (424 +57) |
Тип: Проблемы безопасности |
Интересно
| ||
· | 03.06.2025 | Представлен язык программирования Gauntlet, расширяющий возможности языка Go (244 +1) |
Доступен первый альфа-выпуск языка программирования Gauntlet, надстройки над языком Go, решающей некоторые архитектурные проблемы и добавляющей дополнительную функциональность. Программы на языке Gauntlet поддерживают все возможности языка Go, транслируются в представление на языке Go и интегрируются с существующей экосистемой Go без необходимости задействования обвязок (binding). Развиваемый проектом инструментарий написан на языке F# и распространяется под лицензией GPLv3. Для работы с кодом предоставляется дополнение к редактору VSCode.
Решаемые в Gauntlet проблемы:
Расширенные возможности Gauntlet:
| ||
Обсуждение (244 +1) |
Тип: Программы |
| ||
· | 03.06.2025 | Релиз программы для обработки фотографий RawTherapee 5.12 (44 +13) |
Опубликован релиз программы RawTherapee 5.12, предоставляющей средства для редактирования фотографий и преобразования изображений в формате RAW. Программа поддерживает большое количество RAW-форматов файлов, в том числе, камер с датчиками Foveon- и X-Trans, а также может работать со стандартом Adobe DNG и с форматами JPEG, PNG и TIFF (до 32 бит на канал). Код проекта написан на языке C++ с использованием GTK и распространяется под лицензией GPLv3. Сборки подготовлены для Linux (AppImage), macOS и Windows.
RawTherapee предоставляет набор инструментов для коррекции цветопередачи, настройки баланса белого, яркости и контраста, а также функции автоматического повышения качества изображений и устранения шумов. Реализовано несколько алгоритмов нормализации качества изображений, корректировки освещения, подавления шумов, усиления деталей, борьбы с лишними тенями, коррекции завала краёв и перспективы, автоматического удаления битых пикселей и изменения экспозиции, увеличения резкости, удаления царапин и следов пыли. ![]()
| ||
Обсуждение (44 +13) |
Тип: Программы |
| ||
· | 01.06.2025 | Инцидент с подменой коммитов в ветке ядра Linux от Кеса Кука (217 +57) ↻ |
Линус Торвальдс потребовал от администратора 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-запросов. Дополнение 1: Кес Кук опубликовал ещё одно сообщение, в котором заявил, что вероятнее всего проблема возникла из-за использования утилиты "git-filter-repo", выполняющей перезапись истории коммитов в репозитории, в сочетании с командой "b4 trailers", предназначенной для получения и применение трейлеров к коммитам (например, "Signed-off-by:"). Дополнение 2: Константин Рябицев, как автор утилиты b4, подтвердил, что проблема вызвана неаккуратным использованием данной программы (Кес не обратил внимание на предупреждение в выводе и игнорировал некоторые проверки корректности). Константин на 100% уверен, что изменение произошло без злого умысла. Доступ Кеса к kernel.org восстановлен. В утилиту b4 будет добавлена проверка для предотвращения подобных ситуаций в будущем и запрета перезаписи коммитов, автор которых отличается от текущего пользователя.
| ||
Обсуждение (217 +57) ↻ |
Тип: К сведению |
Интересно
| ||
· | 30.05.2025 | Уязвимости в apport и systemd-coredump, позволяющие извлечь хэши паролей пользователей системы (175 +16) |
Компания 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 сводится к следующим шагам:
Чтобы получить для нового процесса нужный идентификатор, совпадающий с идентификатором 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, ROSA, Arch. В качестве обходного пути блокирования уязвимостей предлагается отключить сохранение core-дампов для suid-программ и сбрасывающих привилегии процессов, выставив параметр /proc/sys/fs/suid_dumpable в значение 0. Для полноценного устранения проблемы требуется внесение изменений в ядро Linux, реализующее возможность передачи информации об аварийно завершившемся процессе через механизм pidfd (pidfd связывается с конкретными процессами и в отличие от pid повторно не назначается).
| ||
Обсуждение (175 +16) |
Тип: Проблемы безопасности |
| ||
· | 29.05.2025 | Уязвимости в пакетах с Kea DHCP и cyrus-imapd, позволяющие повысить привилегии в системе (142 +7) |
В применяемых различными дистрибутивами конфигурациях DHCP-сервера Kea, развиваемого консорциумом ISC в качестве замены классического ISC DHCP, выявлены уязвимости, в некоторых ситуациях позволяющие локальному пользователю выполнить код с правами root или перезаписать любой файл в системе:
Запуск Kea с правами root практикуется в дистрибутивах Arch Linux, Gentoo, openSUSE Tumbleweed (до 23 мая), FreeBSD, NetBSD (pkgsrc) и 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.
| ||
Обсуждение (142 +7) |
Тип: Проблемы безопасности |
| ||
Следующая страница (раньше) >> |
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |