
Технический анализ и доказательство концепции для CVE-2025-6019, локальной уязвимости повышения привилегий в libblockdev и udisks2, позволяющей получить root-доступ с помощью специально созданных образов XFS.
CVE-2025-6019 — это уязвимость повышения привилегий (LPE) в библиотеке libblockdev, которая взаимодействует с демоном udisks2 и Polkit.
Локальный атакующий с правами allow_active в Polkit (обычно пользователь, работающий за компьютером) может воспользоваться тем, как libblockdev взаимодействует с демоном udisks. Атакующий может создать вредоносный образ XFS, содержащий SUID‑root‑оболочку, и обманом заставить udisks смонтировать этот образ без защитных флагов, таких как nosuid и nodev. Это позволяет атакующему запустить SUID‑root‑оболочку и получить полные права root на системе.
Вся атака состоит из трёх этапов: подготовки, передачи и запуска. Вредоносный образ может быть подготовлен заранее на любой системе.
Подготовка (на машине атакующего): Атакующий с помощью стандартных инструментов Linux (например, mkfs.xfs) создаёт образ файловой системы XFS. Внутри этого образа размещается предварительно скомпилированная вредоносная программа с правами SUID (например, бэкдор‑оболочка). Сам образ является «полезной нагрузкой (payload)».
Передача: Атакующему необходимо доставить созданный вредоносный образ на целевую систему. Способы могут быть разными: загрузка через wget, USB‑флешка или использование других уязвимостей для загрузки файла на целевой машине.
Запуск (на целевой системе): Ключевой шаг атаки происходит на целевой системе. Атакующий использует уязвимость CVE-2025-6019, обманом заставляя службу udisks2 смонтировать вредоносный образ. Из‑за уязвимости udisks2 монтирует образ без обязательных защитных флагов (таких как nosuid).
Повышение привилегий: После небезопасного монтирования образа вредоносная программа с SUID становится исполняемой и при запуске получает права root, что позволяет атакующему добиться цели.
Вывод: Образ — это лишь «контейнер» с вредоносной программой; неважно, где он создан. Важно то, как целевая система «обрабатывает» этот контейнер.
Базовая оценка CVSS 3.1 этой уязвимости составляет 7.0, что соответствует высокой степени серьезности.
Успешная эксплуатация уязвимости может привести к полному контролю атакующего над затронутой системой.
Большинство дистрибутивов Linux, использующих libblockdev и службу udisks2, подвержены уязвимости, включая Ubuntu, Debian, Fedora и openSUSE.
allow_active для правила Polkit org.freedesktop.udisks2.modify-device с yes на auth_admin.Эта уязвимость иногда может использоваться совместно с другой уязвимостью CVE-2025-6018, которая в некоторых дистрибутивах позволяет удалённо получить права allow_active.
Эта уязвимость также подчёркивает, как ошибки в Linux могут влиять на программно-определяемые автомобили, использующие Automotive Grade Linux (AGL).