| · | 10.05 | Новый reCAPTCHA не позволит пройти проверку на Android-устройствах без сервисов Google (69 –22) |
|
Компания Google анонсировала новое поколение системы отсеивания ботов reCAPTCHA, применяемой на многих сайтах для проверки обращения человеком. В новой реализации reCAPTCHA вместо выбора картинок, соответствующих заданному вопросу, применяется подтверждение через сканирование QR-кода смартфоном. Проблема в том, что в числе требований к смартфонам, которые могут использоваться для прохождения капчи, заявлены относительно новые версии iPhone/iPad, а также устройства с платформой Android c установленным проприетарным пакетом Google Play Services.
Устройства iPhone/iPad с iOS до версии 16.4, а также смартфоны с альтернативными прошивками на базе Android, поставляемые без сервисов Google (например, GrapheneOS), пройти новую капчу не смогут. Суть метода на основе QR-кода в подтверждении обладания сертифицированным устройством. В случае с Android, подтверждение осуществляется при помощи API Play Integrity, предоставляемого в Play Services для аттестации, и позволяющего убедиться, что устройство не модифицировано и сертифицировано в Google.
| ||
|
Обсуждение (69 –22) |
Тип: К сведению |
| ||
| · | 10.05 | Microsoft опубликовал дистрибутив Azure Linux 3.0.20260506 (6 –1) |
|
Компания Microsoft опубликовала ежемесячное обновление дистрибутива Azure Linux 3.0.20260506. Дистрибутив развивается в качестве универсальной базовой платформы для Linux-окружений, используемых в облачной инфраструктуре, edge-системах и различных сервисах Microsoft. Собственные наработки проекта распространяются под лицензией MIT. Сборки пакетов формируются для архитектур aarch64 и x86_64. Размер установочного образа 770 МБ.
Среди изменений в новой версии:
Дистрибутив Azure Linux предоставляет небольшой типовой набор основных пакетов, выступающих универсальной основой для создания начинки контейнеров, хост-окружений и сервисов, запускаемых в облачных инфраструктурах и на edge-устройствах. Более сложные и специализированные решения могут создаваться путём добавления дополнительных пакетов поверх Azure Linux, но основа для всех подобных систем остаётся неизменной, что упрощает сопровождение и подготовку обновлений. Azure Linux применяется в качестве основы мини-дистрибутива WSLg, в котором предоставляются компоненты графического стека для организации запуска GUI-приложений Linux в окружениях на базе подсистемы WSL2 (Windows Subsystem for Linux). Расширенная функциональность в WSLg реализуется через включение дополнительных пакетов с композитным сервером Weston, XWayland, PulseAudio и FreeRDP. Для управления сервисами и загрузкой применяется системный менеджер systemd. Для управления пакетами поставляются пакетные менеджеры RPM и DNF. SSH-сервер по умолчанию не включается. Для установки дистрибутива предоставляется инсталлятор, который может работать как в текстовом, так и в графическом режимах. В инсталляторе предоставляется возможность установки с полным или базовым набором пакетов, предлагается интерфейс для выбора дискового раздела, выбора имени хоста и создания пользователей. Система сборки Azure Linux позволяет генерировать как отдельные RPM-пакеты на основе SPEC-файлов и исходных текстов, так и монолитные системные образы, формируемые при помощи инструментария rpm-ostree и обновляемые атомарно без разбивки на отдельные пакеты. Соответственно, поддерживается две модели доставки обновлений: через обновление отдельных пакетов и через перестроение и обновление всего системного образа. Доступен репозиторий, включающий около 3000 уже собранных RPM-пакетов, который можно использовать для компоновки собственных образов на основе файла конфигурации. Базовая платформа включает только самые необходимые компоненты и оптимизирована для минимального потребления памяти и дискового пространства, а также для высокой скорости загрузки. В проекте применяется подход "максимальная безопасность по умолчанию", подразумевающий включение различных дополнительных механизмов для повышения защиты:
| ||
|
Обсуждение (6 –1) |
Тип: Программы |
| ||
| · | 10.05 | В Debian утверждена обязательная поддержка воспроизводимых сборок пакетов (27 +12) |
|
Команда, отвечающая за формирование релизов Debian, объявила о переводе воспроизводимой пересборки пакетов в число обязательных возможностей. Вчера в сборочную систему внесены изменения, блокирующие перенос в репозиторий новых пакетов, не поддерживающих воспроизводимую сборку. В репозитории testing также запрещено обновление существующих пакетов, в которых выявлены регрессии с воспроизводимостью сборки.
В Debian 13, насчитывающем 36427 исходных пакетов, поддержка повторяемых сборок составляет 96.9% для архитектуры x86_64 и 96.8% для архитектуры ARM64. В репозиториях Debian Testing уровень повторяемых сборок оценён в 94.5% для архитектуры ARM64 и 75.7% для x86_64 при пересборке 37809 исходных пакетов. Тест повторяемых сборок в репозитории Debian Testing провален для 1141 пакета (3%), а у 7952 пакетов (21%) возникли общие проблемы при компиляции из исходного кода. Повторяемые сборки дают возможность пользователю сформировать собственные сборки, побитово совпадающие с предлагаемыми для загрузки готовыми сборками. Пользователь может лично убедиться, что распространяемые в пакетах и загрузочных образах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений. Проверка тождественности бинарной сборки позволяет не полагаться лишь на доверие к сборочной инфраструктуре дистрибутива, компрометация компилятора или сборочного инструментария в которой может привести к подстановке скрытых закладок. При формировании повторяемых сборок учитываются такие нюансы, как точное соответствие зависимостей; использование неизменного состава и версий сборочного инструментария; идентичный набор опций и настроек по умолчанию; сохранение порядка сборки файлов (применение тех же методов сортировки); отключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки. На воспроизводимость сборок также влияют ошибки и состояния гонки в инструментарии.
| ||
|
Обсуждение (27 +12) |
Тип: К сведению |
| ||
| · | 10.05 | Опубликован музыкальный проигрыватель Nocturne 1.0 (41 –4) |
|
Представлен выпуск Nocturne 1.0, музыкального проигрывателя с возможностями управления музыкальной библиотекой и подключения к сетевым музыкальным сервисам. Код проекта написан на языке Python с использованием виджетов libadwaita и мультимедийной библиотеки gstreamer, и распространяется под лицензией GPLv3. Готовые сборки доступны в формате Flatpak.
Основные возможности:
Среди изменений в выпуске Nocturne 1.0:
![]() ![]() ![]()
| ||
|
Обсуждение (41 –4) |
Тип: Программы |
| ||
| · | 10.05 | Бета-выпуск языка программирования Mojo 1.0 (58 +5) |
|
Представлен первый бета выпуск языка программирования Mojo 1.0, который ознаменовал стабилизацию языка и реализацию всех базовых возможностей. Выпуск оценивается как почти готовый к повсеместному использованию. Финальный релиз Mojo 1.0 ожидается в начале осени. Использование данной ветки позволит начать разрабатывать крупные проекты, не опасаясь появления в языке изменений, нарушающих совместимость.
В состав платформы включены компоненты, необходимые для разработки приложений на языке Mojo, включая компилятор, runtime, интерактивную REPL-оболочку для сборки и запуска программ, отладчик, дополнение к редактору кода Visual Studio Code (VS Code) с поддержкой автодополнения ввода, форматирования кода и подсветки синтаксиса, модуль для интеграции с Jupyter для сборки и запуска Mojo notebook. Исходный код стандартной библиотеки Mojo открыты под лицензией Apache 2.0 c исключениями от проекта LLVM, допускающими смешивание с кодом под лицензией GPLv2. Исходный код компилятора планируют открыть после завершения стабилизации внутренней архитектуры. Язык Mojo развивается под руководством Криса Латнера (Chris Lattner), основателя и главного архитектора проекта LLVM и создателя языка программирования Swift. Синтаксис Mojo основан на языке Python, а система типов близка к C/C++. Проект преподносится как язык общего назначения, расширяющий возможности языка Python средствами системного программирования, подходящий для широкого круга задач и сочетающий простоту применения для исследовательских разработок и быстрого создания прототипов с пригодностью для формирования высокопроизводительных конечных продуктов. Простота достигается благодаря использованию привычного синтаксиса языка Python, а разработке конечных продуктов способствуют возможность компиляции в машинный код, механизмы безопасной работы с памятью и задействование средств для аппаратного ускорения вычислений. Для достижения высокой производительности поддерживается распараллеливание вычислений с задействованием всех имеющихся в системе аппаратных ресурсов гетерогенных систем, таких как GPU, специализированные ускорители для машинного обучения и векторные процессорные инструкции (SIMD). При интенсивных вычислениях распараллеливание и задействование всех вычислительных ресурсов даёт возможность добиться производительности, превосходящей приложения на C/C++. Язык поддерживает статическую типизацию и средства для безопасной низкоуровневой работы с памятью, напоминающие возможности языка Rust, такие как отслеживание времени жизни ссылок и проверка заимствования переменных (borrow checker). При этом в языке доступны и возможности для низкоуровневой работы, например, возможно прямое обращение к памяти в режиме unsafe с использованием типа Pointer, вызов отдельных SIMD-инструкций или доступ к аппаратным расширениям, таким как TensorCores и AMX. Mojo может использоваться как в режиме интерпретации с использованием JIT, так и для компиляции в исполняемые файлы (AOT, ahead-of-time). В компилятор встроены современные технологии автоматической оптимизации, кэширования и распределённой компиляции. Исходный код на языке Mojo преобразуются в низкоуровневый промежуточный код MLIR (Multi-Level Intermediate Representation), развиваемый проектом LLVM. Компилятор позволяет применять для генерации машинного кода различные бэкенды, поддерживающие MLIR. Среди изменений в Mojo 1.0.0b1:
Одновременно сформирован выпуск движка MAX Framework 26.3, предлагающего платформу для разработок в области машинного обучения. MAX Framework дополняет инструментарий Mojo средствами для разработки и отладки приложений, использующих модели машинного обучения в различных форматах (TensorFlow, PyTorch, ONNX и т.п.). В новой версии MAX Framework добавлена возможность генерации видео, расширена поддержка работ с использованием нескольких GPU, значительно повышена производительность интерпретатора (некоторые операции стали выполняться быстрее в 10-20 раз).
| ||
|
Обсуждение (58 +5) |
Тип: Программы |
| ||
| · | 10.05 | Выпуск lay, автокорректора слов, введённых не в той раскладке, для GNOME c Wayland (63 +5) |
|
Опубликован проект lay, помогающий исправлять слова, набранные с использованием не той раскладки клавиатуры, в GNOME-окружении на базе Wayland. Утилита исправляет последнее слово, набранное в неправильной русской или английской раскладке, по двойному нажатию клавиши Shift. Код написан на языке Rust и распространяется под лицензией MIT. На данной стадии развития программа имеет качество бета-версии - приветствуется отправка отчётов об ошибках.
Основной сценарий использования: пользователь набрал, например, "ghbdtn" вместо "привет", нажал Shift два раза, и слово перепечатывается в другой раскладке. Замена осуществляется по месту, без копирования текста через буфер обмена (программа симулирует нажатие клавиши Backspace для затирания ошибочно введённого слова и затем повторяет ввод в правильной раскладке). В смешанном тексте lay старается не трогать уже корректные соседние слова, например, "good ntrcn" будет преобразовано в "good текст", а "wi-fi ye" а wi-fi ну". Возможна точная автоподмена слов по пользовательскому словарю. Проект состоит из фонового процесса, который работает с evdev/uinput, и небольшого дополнения к GNOME Shell, обеспечивающего переключение раскладки в GNOME на базе Wayland. По умолчанию программа работает локально и не использует облако, буфер обмена или большие языковые модели. В качестве опции доступен экспериментальный режим "--smart", в котором для автоматического определения ошибочного ввода применяется локально выполняемая AI-модель. В состав также входит отдельная утилита командной строки для преобразования текста не в другой раскладке. Поддержка в настоящее время ориентирована на GNOME Wayland и русский/английский языки.
| ||
| · | 09.05 | Выпуск композитного сервера Hyprland 0.55 (47 +8) |
|
Доступен композитный сервер Hyprland 0.55, использующий протокол Wayland. Проект ориентирован на мозаичную (tiling) компоновку окон, но поддерживает и классическое произвольное размещение окон, группировку окон в форме вкладок, псевдомозаичный режим и полноэкранное раскрытие окон. Код написан на языке С++ и распространяется под лицензией BSD.
Предоставляются возможности для создания визуально привлекательных интерфейсов: градиенты в обрамлении окон, размытие фона, анимационные эффекты и тени. Для расширения функциональности могут подключаться плагины, а для внешнего управления работой предоставляется IPC на базе сокетов. Настройка осуществляется через файл конфигурации, изменения в котором подхватываются на лету без перезапуска. Из функций также выделяются: динамически создаваемые виртуальные рабочие столы; режимы компоновки элементов на экране; глобальная обработка горячих клавиш; управление жестами на тачпаде/сенсорном экране. В новой версии:
![]()
| ||
|
Обсуждение (47 +8) |
Тип: Программы |
| ||
| · | 09.05 | В KDE ускорена программная отрисовка и реализован новый движок стилей Union (102 +18) |
Опубликован очередной еженедельный отчёт о разработке KDE, в котором представлены изменения для ветки KDE Plasma 6.7, релиз которой ожидается в июне. Ветка KDE Plasma 6.7 находится на стадии мягкой заморозки. Среди принятых за неделю изменений:
| ||
|
Обсуждение (102 +18) |
Тип: Обобщение |
| ||
| · | 09.05 | Уязвимость в системном вызове execve, предоставляющая root-доступ во FreeBSD (161 +26) |
|
Во FreeBSD выявлена уязвимость (CVE-2026-7270), позволяющая непривилегированному пользователю выполнить код с правами ядра и получить root-доступ к системе. Уязвимость затрагивает все выпуски FreeBSD, сформированные с 2013 года. В открытом доступе размещён эксплоит, работа которого проверена на системах с FreeBSD 11.0 по 14.4. Уязвимость устранена в обновлениях FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 и 13.5-RELEASE-p13. Для более старых веток можно использовать патч.
Проблема вызвана переполнением буфера в системном вызове execve, возникающем при обработке префикса, указываемого в первой строке скриптов для определения пути к интерпретатору (например, "#!/bin/sh"). Переполнение возникает при вызове функции memmove из-за неверного составления математического выражения для вычисления размера копируемых в буфер аргументов. Вместо вычитания из "args->endp" значений "args->begin_argv" и "consume", из "args->endp" вычиталось только значение "args->begin_argv", а переменная consume прибавлялась к результату, а не вычиталась, т.е. в результате копировалось больше данных на два значения "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, - args->endp - args->begin_argv + consume); + args->endp - (args->begin_argv + consume)); Переполнение позволяет перезаписать размещаемые в соседней области памяти элементы структуры "exec_map" от другого процесса. В эксплоите переполнение задействовано для перезаписи содержимого "exec_map" периодически запускаемых в системе привилегированных процессов. В качестве подобного процесса выбран sshd, который при каждой установке сетевого соединения ответвляет через вызов fork и execve процесс "/usr/libexec/sshd-session" с правами root. Эксплоит подставляет для данного процесса переменную окружения "LD_PRELOAD=/tmp/evil.so", приводящую к загрузке в контексте sshd-session своей библиотеки. Подставляемая библиотека создаёт в файловой системе исполняемый файл /tmp/rootsh с флагом suid root. Вероятность успешного переполнения оценивается в 0.6%, но благодаря цикличному повтору попыток, успешная эксплуатация достигается примерно за 6 секунд на системе с 4-ядерным CPU. ![]() Кроме того, во FreeBSD устранено ещё несколько уязвимостей:
| ||
|
Обсуждение (161 +26) |
Тип: Проблемы безопасности |
| ||
| · | 08.05 | Предложен killswitch для экстренного отключения уязвимой функциональности в ядре Linux (93 +30) |
|
Саша Левин (Sasha Levin) из компании NVIDIA, занимающийся сопровождением LTS-веток ядра Linux и входящий в консультативный совет организации Linux Foundation, подготовил набор патчей с реализацией механизма killswitch для ядра Linux. Предложенная возможность позволяет мгновенно отключить доступ к определённой функциональности работающего ядра. Предполагается, что killswitch будет полезен для временного блокирования уязвимостей на время до установки обновления ядра с исправлением.
Управление killswitch осуществляется через файл "/sys/kernel/security/killswitch/control", позволяющий настроить перехват обращений к функциям ядра по их именам. Например, для блокирования уязвимости Copy Fail достаточно записать в управляющий файл команду "engage af_alg_sendmsg -1" для включения перехвата вызова функции af_alg_sendmsg и вместо её выполнения возвращения кода ошибки "-1". В качестве имён могут использоваться любые символы, поддерживаемые подсистемой kprobes. Многие из недавно найденных в ядре серьёзных уязвимостей присутствуют в подсистемах, используемых относительной небольшим числом пользователей (например, AF_ALG, ksmbd, nf_tables, vsock, ax25). Для большинства пользователей неудобство из-за прекращения работоспособности отдельных функций не сравнится с риском использования в работе ядра с известной неисправленной уязвимостью на время до установки исправления. Механизм killswitch особо актуален в контексте сегодняшней уязвимости Dirty Frag, эксплоит для которой был опубликован раньше, чем проблема была устранена в ядре.
| ||
|
Обсуждение (93 +30) |
Тип: К сведению |
| ||
| · | 08.05 | Обновление Firefox 150.0.2. За апрель в Firefox устранено 423 уязвимости (152 +19) |
|
Доступен корректирующий выпуск Firefox 150.0.2, в котором устранено 27 уязвимостей (10 уязвимостей собрано под CVE-2026-8093 и 16 под CVE-2026-8092). Все уязвимости вызваны проблемами при работе с памятью, такими как переполнения буферов и обращение к уже освобождённым областям памяти. Потенциально данные проблемы способны привести к выполнению кода злоумышленника при открытии специально оформленных страниц. Всем уязвимостям присвоен высокий уровень опасности.
Отдельно компания Mozilla опубликовала отчёт о проверке кодовой базы Firefox при помощи AI-модели Claude Mythos, достигшей нового уровня в таких областях, как выявление уязвимостей, поиск и исправление ошибок. Отмечается, при использовании Mythos практически не было ложных срабатываний, в то время как прошлые попытки использования моделей GPT 4 и Sonnet 3.5 не рассматривались как успешные из-за обилия ложных отчётов. В апреле в Firefox было устранено 423 уязвимости, из которых 271 были выявлены сотрудниками Mozilla при помощи Claude Mythos. 180 уязвимостей из 271 признаны опасными, 80 присвоен умеренный уровень опасности, а 11 - низкий. ![]() Не связанные с безопасностью исправления в Firefox 150.0.2:
| ||
|
Обсуждение (152 +19) |
Тип: Программы |
| ||
| · | 08.05 | Скомпрометирован официальный Twitter-канал Ubuntu (27 +16) |
|
Следом за DDoS-атакой на инфраструктуру компании Canonical злоумышленникам удалось получить контроль над каналом Ubuntu в социальной сети X.com (Twitter). В канале Ubuntu был размещён анонс AI-агента Numbat, который преподносился как децентрализованный AI, созданный на базе блокчейна и технологий криптовалюты Solana. Заявлялось, что AI-агент можно протестировать на сайте ai-ubuntu.com, который был зарегистрирован за несколько часов до размещения объявления. Оформление сайта было стилизовано под страницу ubuntu.com/ai, а в тексте использовались факты из анонсированного вице-президентом компании Canonical проекта по интеграции AI-технологий в Ubuntu.
Для скрытия IP-адреса сервера, доступ к нему был организован через сеть доставки контента Cloudflare. В настоящий момент анонс Numbat уже удалён с канала, а при попытке открытия сайта ai-ubuntu.com компания Cloudflare выводит предупреждение о фишинге. При открытии сайта ai-ubuntu.com пользователям предлагалось привязать свой криптовалютный кошелёк к платформе, а также объявлялось о скором запуске своего криптовалютного токена и предоставлении возможности принять участие в его распределении среди пользователей. ![]() ![]() ![]()
| ||
|
Обсуждение (27 +16) |
Тип: Проблемы безопасности |
| ||
| · | 08.05 | Релиз мобильной платформы Ubuntu Touch 24.04-1.3. Смартфон Volla Plinius с Ubuntu Touch (44 +14) |
|
Представлено обновление прошивки Ubuntu Touch 24.04-1.3, основанной на пакетной базе Ubuntu 24.04. Прошивка развивается проектом UBports, взявшим в свои руки разработку мобильной платформы Ubuntu Touch, после того как от неё отстранилась компания Canonical. Проектом также развивается экспериментальный порт рабочего стола Unity 8, который переименован в Lomiri.
Обновление Ubuntu Touch 24.04-1.3 в ближайшие дни будет сформировано для устройств Asus Zenfone Max Pro M1, F(x)tec Pro1 X, Fairphone 3/3+/4/5, Google Pixel 3a/3a XL, JingPad A1, Oneplus 5/5T/6/6T, OnePlus Nord N10 5G/N100, Sony Xperia X, Vollaphone X/22/X23, Xiaomi Poco X3 NFC / X3, Xiaomi Poco M2 Pro, Xiaomi Redmi Note 9 Pro/Pro Max/9S, Volla Phone Quintus, Volla Tablet, Lenovo Tab M10 HD 2nd Gen, Rabbit R1 и Xiaomi Redmi 9/9 Prime. В выпуске Ubuntu Touch 24.04-1.3 в основном предложены исправления ошибок, приводивших к проблемам с запуском GTK4-программ, размещением окон X11-программ, воспроизведением голосовых сообщений, отправленных через MMS, масштабированием вывода некоторых Qt-приложений. Устранено проявляющееся на некоторых устройствах зависание при завершении работы. Добавлена поддержка запуска X11-программ вне окружения Lomiri. Улучшена работа с док-станциями, предоставляющими устройства ввода, такими как NexDock. Дополнительно анонсировано начало разработки выпуска Ubuntu Touch 24.04-2.0. Наиболее заметным улучшением станет обновление web-браузера Morph Browser, который будет переведён с QtWebEngine 5.15.19 (QWE) на базе устаревшего движка Chromium 87, на современный стек Qt 6.x. Так как многие программы в Ubuntu Touch остаются на Qt 5 в выпуске Ubuntu Touch 24.04-2.0 будет поставляться одновременно Qt 5 и Qt 6, что приведёт к увеличению размера системного образа, который на некоторых поддерживаемых устройствах может не вместиться в зарезервированный для операционной системы раздел. ![]()
Отдельно можно отметить создание компанией Volla нового смартфона Volla Phone Plinius, который пришёл на смену модели Volla Phone X23 и поставляется в вариантах с Ubuntu Touch и Volla OS (сборка на основе открытой кодовой базы Android). Устройство оснащено защищённым от ударов пыле- и водо-непроницаемым корпусом. К смартфону можно подключить монитор, клавиатуру и мышь для его превращения в переносную рабочую станцию. Начало массового производства намечено на начало июня. Стоимость модели с 8 ГБ ОЗУ и 128 ГБ хранилищем - €598, 12 ГБ ОЗУ и 256 ГБ хранилищем - €698. На момент поставки пользователь может выбрать версию с предустановленным Ubuntu Touch или Volla OS, но в разработке находится функция multi-boot в Volla OS, которая позволит установить Ubuntu Touch на карту памяти и загружать данную систему по желанию, не заменяя прошивку. Характеристики Volla Phone Plinius:
![]()
| ||
|
Обсуждение (44 +14) |
Тип: Программы |
| ||
| · | 08.05 | Обновление OpenWrt 25.12.3 (27 +13) |
|
Представлен корректирующий выпуск дистрибутива OpenWrt 25.12.3, развиваемого для сетевых устройств, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает более 2200 устройств и предлагает систему сборки, упрощающую кросс-компиляцию и создание собственных сборок. Подобные сборки позволяют формировать готовые прошивки с желаемым набором предустановленных пакетов, оптимизированные под конкретные задачи. Готовые сборки опубликованы для 41 целевой платформы.
Среди изменений:
| ||
|
Обсуждение (27 +13) |
Тип: Программы |
| ||
| · | 08.05 | Уязвимости Dirty Frag, изменяющие страничный кэш для получения root в любых дистрибутивах Linux (209 +33) ↻ |
|
В ядре Linux выявлены две уязвимости, по своей сути аналогичные несколько дней назад раскрытой уязвимости Copy Fail, но проявляющиеся в других подсистемах - xfrm-ESP и RxRPC. Серии уязвимостей присвоено кодовое имя Dirty Frag (также встречается упоминание Copy Fail 2). Уязвимости позволяют непривилегированному пользователю получить права root, перезаписав данные процесса в страничном кэше. Доступен эксплоит, работающий во всех актуальных дистрибутивах Linux. Информация об уязвимости раскрыта до публикации исправлений, но есть обходной метод блокирования проблемы.
Dirty Frag охватывает две разные уязвимости: первая в модуле xfrm-ESP, используемом для ускорения операций шифрования в IPsec с использованием протокола ESP (Encapsulating Security Payload), а вторая в драйвере RxRPC, реализующем семейство сокетов AF_RXRPC и одноимённый RPC-протокол, работающий поверх UDP. Каждая из уязвимостей по-отдельности позволяет добиться получения прав root. Уязвимость в xfrm-ESP проявляется в ядре Linux с января 2017 года, а уязвимость в RxRPC - с июня 2023 года. Обе проблемы вызваны оптимизациями, допускающими прямую запись в страничный кэш. Для эксплуатации уязвимости в xfrm-ESP у пользователя должны быть права на создание пространств имён, а для эксплуатации уязвимости в RxRPC должна быть возможность загрузки модуля ядра rxrpc.ko. Например, в Ubuntu в правилах AppArmor непривилегированному пользователю запрещено создание пространств имён, но по умолчанию загружается модуль rxrpc.ko. В каких-то дистрибутивах отсутствует модуль rxrpc.ko, но не блокируется создание пространств имён. Выявивший проблему исследователь подготовил комбинированный эксплоит, способный атаковать систему через обе уязвимости, что позволяет эксплуатировать проблему во всех крупных дистрибутивах. Работа эксплоита подтверждена в Ubuntu 24.04.4 с ядром 6.17.0-23, RHEL 10.1 с ядром 6.12.0-124.49.1, openSUSE Tumbleweed с ядром 7.0.2-1, CentOS Stream 10 c ядром 6.12.0-224, AlmaLinux 10 с ядром 6.12.0-124.52.3 и Fedora 44 с ядром 6.19.14-300. Как и в случае с уязвимостью Copy Fail, проблемы в xfrm-ESP и RxRPC вызваны выполнением расшифровки данных по месту c использованием функции splice(), передающей данные между файловыми дескрипторами и каналами (pipe) без копирования, путём передачи ссылок на элементы в страничном кэше. Смещения для операции записи рассчитывались без должных проверок, учитывающих использование прямой ссылки на элементы в страничном кэше, что позволяло через отправку специально оформленных запросов перезаписать 4 байта по выбранному смещению и изменить находящееся в страничном кэше содержимое любого файла. Все операции чтения из файлов в первую очередь отдают содержимое из страничного кэша. В случае модификации данных в страничном кэше операции чтения из файла приведут к возвращению не реально хранимой на накопителе информации, а подменённых данных. Эксплуатация уязвимости сводится к изменению страничного кэша для исполняемого файла с флагом suid root. Например, для получения прав root можно прочитать исполняемый файл /usr/bin/su для его помещения в страничный кэш, после чего добиться подстановки своего кода в загруженное в страничный кэш содержимого этого файла. Последующий запуск утилиты "su" приведёт к тому, что в память будет загружен не оригинальный исполняемый файл с накопителя, а изменённая копия из страничного кэша. Раскрытие информации об уязвимостях и скоординированный выпуск обновлений с устранением проблем было намечено на 12 мая, но из-за утечки информации сведения об уязвимости пришлось опубликовать до публикации исправлений. В конце апреля в публичном списке рассылки netdev были опубликованы патчи к rxrpc, ipsec и xfrm, без упоминания, что они связаны с устранением уязвимости. 5 мая мэйнтейнер подсистемы IPsec принял в git-репозиторий netdev изменение c предлагаемым исправлением в модуле xfrm-esp, описание к которому во многом повторяло описание проблемы, приведшей к уязвимости Copy Fail в модуле algif_aead. Один из исследователей безопасности заинтересовался этим исправлением, сумел создать рабочий эксплоит и опубликовал его, не зная о том, что на раскрытие сведений о проблеме до 12 мая введено эмбарго. Обновления с исправлениями для ядра Linux и пакетов с ядром в дистрибутивах пока не опубликованы, но доступны устраняющие проблемы патчи - xfrm-esp и rxrpc. CVE-идентификаторы не присвоены, что усложняет отслеживание обновления пакетов в дистрибутивах. В качестве обходного пути защиты можно заблокировать загрузку модулей ядра esp4, esp6 и rxrpc: sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true" Дополнение: Уязвимостям присвоены идентификаторы CVE-2026-43284 и CVE-2026-43500. Выпущены корректирующие релизы ядра Linux с устранением уязвимости в xfrm-esp (уязвимость в rxrpc остаётся неисправленной): 7.0.5, 6.18.28, 6.12.87, 6.6.138, 6.1.172, 5.15.206, 5.10.255. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora, ROSA.
| ||
|
Обсуждение (209 +33) ↻ |
Тип: Проблемы безопасности |
Интересно
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |