VPN-клиент Cato Client уязвим к повышению привилегий через split tunneling
Cato Client уязвим к повышению привилегий через split tunneling
Исследователи Quarkslab обнаружили уязвимость повышения привилегий в VPN-клиенте Cato Client. Уязвимость позволяет локальному злоумышленнику получить права SYSTEM. Эксплуатация происходит через функцию загрузки конфигурации split tunneling. Уязвимость получила идентификатор CVE-2026-10739.
Cato Client распределяет трафик и управляет сетевыми подключениями
Cato Client — это клиентское программное обеспечение, которое подключает пользователей к облачной платформе Cato. Одной из его функций является split tunneling. Эта функция позволяет администраторам настраивать, какие диапазоны IP-адресов будут включены или исключены из зашифрованного туннеля. Пользователи могут загружать текстовый файл конфигурации (.ccst) для определения этих диапазонов. Клиентское приложение взаимодействует с привилегированным системным сервисом через именованный канал (named pipe) для обработки этих конфигураций. Сервис работает с правами NT AUTHORITY\SYSTEM.
Локальное повышение привилегий через именованный канал и обход проверки сертификата
Уязвимость CVE-2026-10739 затрагивает версии Cato Client 6.2.0 и 6.4.6 для Windows. По данным вендора, уязвимы все версии до 6.12.6. Для эксплуатации требуется локальный доступ к системе. Уязвимость начинается с функции загрузки файла конфигурации split tunneling. Приложение принимает файл, но при обработке невалидного содержимого удаляет сгенерированный файл. Сервис, работающий с правами SYSTEM, обрабатывает запросы через именованный канал \.\pipe\cato-VPN. Этот канал защищен проверкой сертификата процесса, обращающегося к нему. Для обхода этой проверки злоумышленник внедряет DLL-библиотеку в подписанный процесс Cato Client, например, CatoClient.exe. Это позволяет ему отправлять команды через именованный канал от имени доверенного процесса.
Эксплуатация уязвимости через подмену SID и символическую ссылку
После обхода проверки сертификата злоумышленник может манипулировать сообщениями, отправляемыми через именованный канал. В частности, он может подменить значение UserSidString в сообщении UiRegister. Это значение используется для формирования пути к файлу конфигурации split tunneling (.stp). Путь формируется как \ccst_.stp. Поскольку компонент SID контролируется злоумышленником и может содержать ..\, он может использовать путь, например, \..\..\..\..\..\..\tmp\foobar. Это приводит к тому, что сервис создает файл \tmp\foobar.stp в корне файловой системы. Если файл конфигурации (.ccst) невалиден, сервис пытается удалить этот файл с правами SYSTEM. Злоумышленник создает символическую ссылку C:\poc\deleteme.stp, указывающую на C:\Config.Msi. При попытке удаления файла \tmp\foobar.stp сервис фактически удаляет C:\Config.Msi. Это запускает цепочку отката установщика Windows, позволяя выполнить произвольный код с правами SYSTEM. Для полной эксплуатации уязвимости злоумышленнику необходимо подготовить состояние отката установщика Windows, создать символическую ссылку и запустить процесс, который инициирует удаление файла через уязвимый сервис Cato Client.
Коротко в карточках





Опубликовано в канале 1 октября, 18:35
Каждый материал сайта выходит в канале в тот же момент.
Источник: Quarkslab