Перейти к содержимому

Критическая уязвимость в Parallels Desktop: злоумышленники могут получить root-доступ!

В популярном программном обеспечении для виртуализации Parallels Desktop, используемом для запуска Windows и других операционных систем на Mac, обнаружена серьезная уязвимость. CVE-2024-34331, новая 0-Day уязвимость, позволяет атакующим получить права суперпользователя (root) в macOS.

Наибольшую тревогу вызывает тот факт, что даже последняя версия Parallels Desktop – 20.2.1 (55876) остается уязвимой, а рабочие эксплойты (PoC) уже опубликованы в открытом доступе.

Исследователи продемонстрировали две техники эксплуатации, которые могут представлять серьезную угрозу для корпоративных и частных пользователей.

CVE-2024-34331 связана со скриптом repack_osx_install_app.sh, который выполняет операции по репакетированию установщиков macOS с root-привилегиями через демон prl_disp_service.

Основные способы эксплуатации уязвимости:

1. Атака Time-of-Check to Time-of-Use (TOCTOU)

Злоумышленники могут заменить легитимный бинарный файл createinstallmedia на вредоносный между моментом проверки цифровой подписи и его фактическим выполнением.

В опубликованном PoC (exploit1.sh) создается поддельный установочный пакет macOS, где вместо createinstallmedia подставляется /bin/ls. Затем в момент создания временного каталога файл подменяется на вредоносный скрипт, который выполняется с root-правами через SUID-программу prl_disp_service.

2. Обход проверки подписи через внедрение динамических библиотек (DYLIB)

Parallels Desktop использует команду:

codesign -v -R="anchor apple"

для проверки подписи createinstallmedia.

Однако этот механизм позволяет любому бинарному файлу, подписанному Apple (например, /bin/ls), пройти проверку. Злоумышленники могут использовать DYLIB-инъекцию или переменные окружения (DYLD_INSERT_LIBRARIES), чтобы внедрить вредоносный код и обойти защиту.

Parallels пыталась устранить подобные уязвимости в версии 19.4.1, введя функцию do_repack_manual, которая использовала 7z для создания установочных файлов.

Однако исследователи нашли новую уязвимость в обработке параметра CFBundleDisplayName, что позволило:

✔ Создавать символические ссылки и изменять файлы root-пользователя
✔ Подменять бинарник 7z на вредоносный
✔ Запускать вредоносный код через привилегированные службы Parallels

В версии 20.2.1 Parallels вернулась к уязвимому методу do_repack_createinstallmedia, снова открыв возможность эксплуатации CVE-2024-34331.

🔴 Все Mac с процессорами Intel (Parallels Desktop 16.0.0 – 20.2.1)
🟢 Чипы Apple Silicon (M1, M2, M3) защищены, так как используют другую архитектуру виртуализации.

Какие угрозы возможны?

Если атакующие успешно используют эксплойт, они смогут:

Получить root-доступ
Обойти механизмы защиты macOS (TCC – Transparency, Consent, and Control)
Выходить за пределы виртуальной машины и атаковать macOS

На данный момент официального исправления (patch) от Parallels нет, поэтому рекомендуется:

🔹 Удалить SUID-разрешения у Parallels

sudo chmod -s /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_disp_service

🔹 Ограничить сетевые подключения для Parallels Desktop
🔹 Мониторить подозрительные файлы (/Library/lpe и другие аномалии)
🔹 Рассмотреть альтернативные решения (например, VMware Fusion или VirtualBox, если исправление не выйдет оперативно).

CVE-2024-34331 – критическая уязвимость, представляющая угрозу для пользователей Parallels Desktop на macOS. Если злоумышленники получат root-права, они смогут полностью скомпрометировать систему.

⚠️ РЕКОМЕНДАЦИЯ: Все пользователи Parallels Desktop должны немедленно принять меры безопасности и рассмотреть вопрос о временном прекращении использования ПО до выхода исправления!

🚨 Защитите систему до того, как начнутся атаки! 🚨