Расширением Cisco WebEx активно пользуются около 20 млн человек — оно является частью популярного софта для проведения веб-конференций. Исследователь Google Тэвис Оманди опубликовал информацию об обнаруженной им уязвимости в этом компоненте — используемая для его работы технология nativeMessaging позволяет любому сайту, к которому подключается пользователь, осуществлять выполнение произвольного кода.
Расширение WebEx работает для любого URL, содержащего специальный паттерн (magic pattern)
cwcsf-nativemsg-iframe-43c85c0d-d633-af5e-c056-32dc7efc570b.html
— он извлекается из манифеста расширения. Паттерн может появляться и в iframe — поэтому пользователь не всегда может контролировать работу расширения. При этом, использование компонентом nativeMessaging позволяет любому сайту, на который зашел пользователь, исполнять произвольный код.Расширение использует сложный протокол, в котором для передачи JSON-сообщений между веб-страницой, расширением и нативным кодом приложения применяются объекты CustomEvent().
В процессе инициализации сайту сначала нужно запросить открытие порта для коммуникаций со стороны приложения:
document.dispatchEvent(new CustomEvent("connect", { detail: { token: "token" }})); // token can be any string
Затем сообщения могут передаваться к нативному коду через события message. Используются несколько разных типов сообщений — «hello», «disconnect» и т.д. По словам Оманди, одним из самых интересных является сообщение «launch_meeting»:
document.dispatchEvent(new CustomEvent("message", { detail: {
message: JSON.stringify(msg),
message_type: "launch_meeting",
timestamp: (new Date()).toUTCString(),
token: "token"
}
}));
Исследователь прошел процесс организации конференции и записал сообщения, отправлявшиеся в процессе инициализации. В них он обнаружил массу сущностей, которые могут быть использованы для выполнение кода. Расшифровав строки сообщений он обнаружил что-то вроде скриптового языка, c помощью которого вызывались функции нативного кода. В итоге Оманди удалось создать эксплоит, который выполняет произвольный код на пользовательской системе (для его тестирования нужно проверить наличие на компьютере WebEx).
Поделиться с друзьями
Комментарии (2)
Illeanectedd
30.01.2017 13:43хотел посмотреть один из ваших вебинаров, но выскакивает ошибка: Доступ к сервису закрыт, так как истёк срок подписки для вашей учётной записи.
планируете что-то изменить?
madkite
А также иметь MS Windows. :(