На этой неделе инженеры компании Cisco исправили ряд уязвимостей в нескольких версиях Jabber для Windows, приложения для видеоконференцсвязи и обмена сообщениями. Среди исправленных проблем присутствовал RCE-баг, обладавший потенциалом червя и позволявший выполнять произвольный код в системе жертвы.

Уязвимости обнаружили специалисты норвежской ИБ-фирмы Watchcom Security когда проводили пентест всех поддерживаемых в настоящее время версий клиента Jabber для Windows (12.1 - 12.9). Два из четырех обнаруженных недостатков (CVE-2020-3495, CVE-2020-3430, CVE-2020-3498, CVE-2020-3537) можно было использовать удаленного выполнения произвольного кода.

Наиболее серьезная из проблем получила идентификатор CVE-2020-3495 и набрала 9,9 баллов из 10 возможных по шкале CVSS. Дело в том, что валидация содержимого сообщений осуществлялась некорректно, из-за чего злоумышленники могли отправлять вредоносные XMPP-сообщения уязвимому клиенту Jabber, и в итоге это вело к выполнению произвольного когда в уязвимой системе (с правами текущего пользователя). Хуже того, подобная атака обладала потенциалом червя, то есть малварь могла распространяться от одного пользователя к другому.

Корень проблемы заключался в том, что фильтр, предназначенный для блокирования потенциально вредоносного содержимого в сообщениях, не справлялся с блокированием кода, который в итоге вызывал программный интерфейс onanimationstart. Так, хотя фильтр добросовестно блокировал контент, содержащий тег <style> (который нужно было включить в пейлоад), для обхода защиты исследователи использовали код встроенного компонента анимации под названием spinner-grow. В итоге им удалось создать XSS-эксплоит, который внедрял полезную нагрузку непосредственно во встроенный браузер Jabber.

Встроенная в Chromium Embedded Framework (CEF) песочница обычно хранит полезную нагрузку в контейнере, изолированном от уязвимых частей приложения. Чтобы обойти это ограничение и «сбежать» из песочницы, исследователи злоупотребили функцией window.CallCppFunction, которая предназначена для открытия файлов, присланных другими пользователями Cisco Jabber.

«Поскольку Cisco Jabber поддерживает передачу файлов, злоумышленник может инициировать передачу файла, содержащего вредоносный.exe, и заставить жертву принять его с помощью XSS-атаки, — объясняют специалисты. — Затем злоумышленник может спровоцировать вызов window.CallCppFunction, и в результате вредоносный файл будет запущен на машине жертвы».

Еще одна интересная уязвимость, обнаруженная экспертами Watchcom, имеет идентификатор CVE-2020-3430 и оценивается на 8,8 баллов из 10 возможных. В данном случае эксплуатация бага затрагивает обработчики протокола Cisco Jabber, которые помогают ОС понять, что делать, когда пользователь кликает по URL, связанному с Jabber.

«Обработчики протоколов уязвимы перед инъекциями команд, так как они некорректно работают с URL-адресами, содержащими пробелы. Включив пробел в URL-адрес, злоумышленник может осуществить инъекцию произвольных параметров командной строки, которые в итоге будут переданы приложению. Поскольку приложение использует CEF и принимает параметры командной строки Chromium, есть несколько параметров, которые можно использовать для выполнения произвольных команд или загрузки произвольных DLL. Хорошим примером является --GPU-launcher, определяющий команду, которая будет выполняться при запуске процесса CEF.

Данная уязвимость может быть объединена с XSS для выполнения кода (без необходимости передачи файлов жертве). Таким образом, проблема может использоваться для доставки малвари, без записи файлов на диск, а также минуя большинство антивирусных программ», — рассказывают эксперты.

Видео ниже демонстрирует PoC-атаки на практике.

Описанные уязвимости затрагивают Cisco Jabber для Windows, начиная от версии 12.1 до версии 12.9.1. Пользователям, которые до сих пор работают с уязвимыми версиями, рекомендуют обновиться как можно скорее.

Оставить мнение