ИБ-специалист компании Google Джейсон Геффнер (Jason Geffner) обнаружил, что проблема в одной из старых библиотек в составе антивируса ESET может представлять серьезную опасность для пользователей Mac’ов.
Исследователь пишет, что уязвимые версии антивирусов используют парсер POCO XML версии 1.4.6p1, датированный 2013 годом, который является форком от Expat XML (версии 2.0.1, датированная 2007 годом). Недавно стало известно, что библиотека Expat содержит уязвимость CVE-2016-0718, которая позволяет злоумышленнику выполнить произвольный код, посредством вредоносного XML-контента. Геффнер обнаружил, что проблема распространяется и на POCO XML, а значит, опасна для продуктов ESET для Mac.
«Уязвимые версии ESET Endpoint Antivirus 6 статически скомпонованы с устаревшей библиотекой парсинга XML и не выполняют надлежащую аутентификацию, позволяя удаленному и неавторизованному атакующему осуществить выполнение произвольного кода с root-правами», — пишет исследователь.
Геффнер поясняет, что esets_daemon использует устаревшую библиотеку POCO XML, уязвимую перед вышеупомянутым багом CVE-2016-0718. Кроме того, библиотека отвечает за активацию и верификацию лицензий, отправляя запрос на https://edf.eset.com/edf. Проблема в том, что данные, которые возвращает сервер, могут использоваться для эксплуатации бага в XML парсере, так как демон не проверяет сертификат сервера лицензий ESET. Получается, что атакующий, уже реализовавший атаку man-in-the-middle, может перехватить и подменить такой запрос. Для исполнения произвольного кода понадобится лишь передать антивирусу специально подготовленный XML-файл.
К своему отчету Геффнер приложил proof-of-concept эксплоит, который провоцирует краш антивирусов ESET для Mac. Хотя сам по себе эксплоит не слишком опасен, на его основе может быть создан более серьезный инструмент.
Разработчики ESET уже выпустили исправление для проблемы, которая в итоге получила идентификатор CVE-2016-9892. Всем пользователям настоятельно рекомендуется как можно быстрее обновиться до исправленной версии ESET Endpoint Antivirus 6.4.168.0.