Привилегированный помощник VSL использует NSXPC для IPC. Реализация функции «shouldAcceptNewConnection», которая используется платформой NSXPC для проверки того, разрешено ли клиенту подключаться к прослушивателю XPC, вообще не проверяет клиенты. Это означает, что любой процесс может подключиться к этому сервису, используя настроенный протокол.
Вредоносный процесс может вызывать все функции, определенные в соответствующем HelperToolProtocol. В функциях «writeReceiptFile» и «runUninstaller» HelperToolProtocol проверка не выполняется. Это позволяет злоумышленнику записывать файлы в любое место с любыми данными, а также выполнять любой файл с любыми аргументами.
Любой процесс может вызвать эти функции из-за отсутствия проверки клиента XPC, описанной ранее. Злоупотребление отсутствием проверки конечной точки приводит к повышению привилегий.
Показать оригинальное описание (EN)
The VSL privileged helper does utilize NSXPC for IPC. The implementation of the "shouldAcceptNewConnection" function, which is used by the NSXPC framework to validate if a client should be allowed to connect to the XPC listener, does not validate clients at all. This means that any process can connect to this service using the configured protocol. A malicious process is able to call all the functions defined in the corresponding HelperToolProtocol. No validation is performed in the functions "writeReceiptFile" and “runUninstaller” of the HelperToolProtocol. This allows an attacker to write files to any location with any data as well as execute any file with any arguments. Any process can call these functions because of the missing XPC client validation described before. The abuse of the missing endpoint validation leads to privilege escalation.
Характеристики атаки
Последствия
Строка CVSS v3.1