
Уязвимости локального повышения привилегий (LPE) в клиенте DeskIn для macOS
Производитель: DeskIn
Продукт: Клиент DeskIn для macOS
Уязвимые версии: <= v3.3.4.3
В клиенте DeskIn для macOS обнаружена уязвимость локального повышения привилегий (LPE). Эта уязвимость позволяет непривилегированному локальному пользователю повысить свои привилегии до root.
DeskIn устанавливает демон с именем DeskIn_Service, который работает от имени пользователя root. Он предоставляет службу Mach XPC с именем com.deskin.service.installer.
Реализация этой конечной точки XPC не имеет надлежащей проверки клиента. NSXPCListenerDelegate не выполняет адекватных проверок безопасности входящих подключений. Он не проверяет подпись кода или права (entitlements) подключающегося клиента. Следовательно, любое непривилегированное приложение или локальный пользователь в системе macOS может подключиться к этой службе XPC и вызвать метод submitInstallerToSystemDomainWithPath:.
/Applications/DeskIn.app/Contents/MacOS/DeskIn_Servicecom.deskin.service.installersubmitInstallerToSystemDomainWithPath:hostBundleIdentifier:homeDirectory:userName:jobDictionary:completion:https://github.com/user-attachments/assets/46a26c48-3a28-405a-8430-3bc041951261
Для защиты службы XPC метод shouldAcceptNewConnection: должен явно отклонять неавторизованных клиентов.
Рекомендация: Проверяйте подпись кода подключающегося процесса. Убедитесь, что клиент подписан конкретным Apple Developer Team ID и обладает определённым правом (entitlement) или идентификатором пакета, соответствующим легитимному клиенту DeskIn.
Поскольку производитель не выпустил патч для этих проблем на момент публикации, пользователям клиента DeskIn для macOS рекомендуется отключить DeskIn_Service, если он не является строго необходимым, или удалить программное обеспечение до выпуска патча.
Обнаружено:
Long, Dang Hoang из SACOMBANK