Вразливість розширення для проведення веб-конференцій Cisco WebEx дозволяє здійснювати виконання довільного коду



Розширенням 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"
}
}));

Дослідник пройшов процес організації конференції і записав повідомлення, які вирушали в процесі ініціалізації. В них він виявив безліч сутностей, які можуть бути використані для виконання коду. Розшифрувавши рядка повідомлень він виявив щось на зразок скриптової мови, з допомогою якого викликалися функції нативного коду. У підсумку Оманди вдалося створити експлоїт, який виконує довільний код на користувача системи (для його тестування потрібно перевірити наявність на комп'ютері WebEx).
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.