Уязвимость в VPN-клиенте AWS позволяет повысить привилегии до SYSTEM

Исследователи из Rhino Security Labs выявили две уязвимости в AWS VPN Client. Одна из них грозит локальным повышением привилегий или DoS-атакой (отказом сервиса), другая — утечкой NTLM-хеша пользователя. Патчи уже доступны в виде обновления 3.0.0.

Управляемое решение AWS VPN Client позволяет обезопасить удаленный доступ к корпоративным ресурсам. В рамках этого сервиса сотрудники или клиенты компании могут подключаться к ее сети (AWS или локальной) со своего компьютера или мобильного устройства, используя файл конфигурации VPN — его распределяют между всеми, кому необходим такой доступ.

Десктопное приложение AWS VPN Client, построенное на базе OpenVPN-клиента, работает как Windows-служба уровня SYSTEM. Ею может воспользоваться даже непривилегированный юзер — через импорт конфигурационного файла OpenVPN.

Как оказалось, при валидации таких файлов возникает состояние гонки, которое можно использовать для внедрения небезопасных директив OpenVPN. Чтобы воспользоваться этой уязвимостью (CVE-2022-25166, запись произвольных файлов с привилегиями SYSTEM), злоумышленник должен правильно рассчитать время инъекции — после успешной проверки, но до обработки файла конфигурации. В ходе тестирования исследователям удалось через эксплойт внести в систему новый файл журнала событий.

Уязвимость раскрытия информации (CVE-2022-25165) тоже связана с валидацией файлов настройки OpenVPN. На одном из ее этапов клиентское приложение AWS производит проверку пути к файлу, при этом выполняется операция FileOpen (fopen). Если в импортируемый файл вставить UNC-путь, клиент сольет хеш Net-NTLMv2 пользователя на внешний сервер.

Наличие уязвимостей подтверждено для AWS VPN Client версии 2.0.0. Патчи включены в состав сборки 3.0.0. Свои PoC-коды Rhino уже опубликовала на GitHub.

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.