Невиправлена вразливість у Parallels Desktop дає root-права в macOS💻

Дослідники опублікували два експлоїти для непропатченої вразливості підвищення привілеїв у Parallels Desktop. Проблема дає змогу отримати root-доступ на порушених пристроях під управлінням macOS.

Минулого тижня ІБ-експерт Міккі Джин (Mickey Jin) опублікував PoC-експлоїти, які демонструють обхід патчів для виправленої у вересні минулого року проблеми CVE-2024-34331, пов’язаної з підвищенням привілеїв. Початково ця вразливість була виявлена в травні 2024 року і виникає через відсутність перевірки підпису коду в Parallels Desktop для Mac.

“З огляду на те, що виробник не може усунути цю вразливість понад сім місяців (незважаючи на попереднє розкриття інформації), я вирішив публічно оприлюднити цей 0-day експлоїт, – пояснює Джин. – Моя мета – підвищити обізнаність і закликати користувачів до активного зниження ризиків, оскільки зловмисники можуть використовувати цей недолік у реальних атаках”.

Початковий патч Parallels прагнув запобігти виконанню недовірливого коду, перевіряючи, чи підписаний createinstallmedia, перш ніж надати йому root-привілеї. Однак Джин продемонстрував, що ця перевірка не працює належним чином, і зловмисники можуть обійти її щонайменше двома способами.

Перший спосіб полягає в проведенні атаки на кшталт TOCTOU (time-of-check to time-of-use), що дає змогу спровокувати стан перегонів між перевіркою наявності у createinstallmedia підпису Apple та його виконанням із привілеями root.

Так, атакувальник завантажує підроблений інсталятор macOS, чекає, поки Parallels перевірить підписаний Apple бінарник createinstallmedia, а потім швидко підміняє його шкідливим скриптом, отримуючи привілеї root.

Другий спосіб пов’язаний з атакою на функцію do_repack_manual, яка вразлива для перезапису довільних файлів, які перебувають у володінні root. Маніпулюючи do_repack_manual, зловмисник переспрямовує привілейовану папку за допомогою симлінків, змушуючи Parallels записати підконтрольні хакеру файли на шляху, що належить root, і замінює p7z_tool, домагаючись виконання від імені root.

У версії 19.4.1 Parallels змінила процес перепакування, перейшовши з do_repack_createinstallmedia на do_repack_manual, що заважає роботі експлоїта. Однак ця зміна привнесла нову вразливість, що дає змогу зловмиснику перезаписувати довільні файли, через що став можливий другий спосіб експлуатації.

При цьому зміни пізніше було скасовано у версії 20.2.1. У результаті всі версії Parallels Desktop, включно з останньою, вразливі щонайменше для одного з описаних експлоїтів.