В сервисе для видеозвонков Zoom нашли уязвимость, которая позволяет удалённо включать веб-камеры на макбуках

В теории такая уязвимость может появиться на любом сайте — достаточно строчки вредоносного кода.

В закладки
Аудио
Конференц-звонок в Zoom  Скриншот Джонатана Лейтшуха

Исследователь по кибербезопасности Джонатан Лейтшух (Jonathan Leitschuh) рассказал об уязвимости в популярном сервисе видеозвонков Zoom. Из-за особенностей работы приложения злоумышленники могут удалённо активировать веб-камеры пользователей macOS без их разрешения.

Как пояснил Лейтшух, причиной проблемы стала возможность присоединяться к звонкам при переходе по ссылкам вида «https://zoom.us/j/492468757». Для этого на макбуках Zoom вместе с приложением устанавливает собственный локальный веб-сервер, который может взаимодействовать с сайтами при интернет-сёрфинге.

Таким образом сервис обходит ограничения всех популярных браузеров, которые не позволяют сайтам обмениваться данными с сервером localhost. Если бы Zoom не использовал такую схему, то при нажатии на ссылку пользователя бы постоянно спрашивали, хочет ли он запустить приложение.

Используя GET-запрос к серверу, Лейтшух смог подключиться к звонку, созданному другой учётной записью. Таким образом он смог подключиться к любым звонкам без разрешения, если у создавших их пользователей установлены стандартные настройки.

Однако исследователь на этом не остановился и научился удалённо активировать веб-камеры пользователей. Так как локальный сервер Zoom работает в фоновом режиме, злоумышленникам даже не нужно, чтобы было запущено приложение. Как утверждает Лейтшух, достаточно встроить короткий код из одной строки в embed-содержимое сайта или в рекламный баннер.

В качестве доказательства исследователь реализовал уязвимость, встроив вредоносный код в свой сайт. Любой желающий может проверить её работу, перейдя на специальную страницу. Код работает автоматически для пользователей с установленным клиентом Zoom и подключает их к звонку с веб-камерой без разрешения. При отсутствии программы там отображается диалоговое окно с просьбой дать необходимые разрешения, после выдачи которых конференц-колл не запускается

В процессе изучения работы локального сервера Zoom Лейтшух также заметил, что тот способен не только запускать звонки. В случае, если пользователь удалил приложение с компьютера, сервер продолжает работать и позволяет незаметно установить программу обратно лишь при посещении сайта с вредоносным кодом без каких-либо дополнительных подтверждений

Исследователь пояснил, что сообщил об уязвимости Zoom в марте 2019 года, а также предложил несколько вариантов её решения, включая «быстрые исправления», изменяющие логику сервера. Он дал компании 90 дней, однако она ответила только спустя два месяца и внесла лишь небольшие изменения в код.

Как отметил исследователь, остались возможности добавить пользователя в звонок без его разрешения и переустановить приложение без ведома пользователя. По словам Лейтшуха, в Zoom также отказались по умолчанию отключать звук и веб-камеру при подключении к звонкам. В компании отметили, что пользователи заслуживают права сами выбирать, как пользоваться приложением.

При этом пользователи могут сами исправить проблему с удалённым включением веб-камеры. Для этого достаточно поставить галочку у пункта «Выключать моё видео при присоединении к беседе».

Как решить проблему с удалённым включением камеры в Zoom Скриншот Джонатана Лейтшуха

В Zoom рассказали журналистам The Verge и других изданий, что используют веб-сервер, чтобы сэкономить клики пользователям. В компании выступили в защиту своего подхода и назвали присоединение к звонкам «в один клик» своей «отличительной чертой».

В заявлении на сайте Zoom говорится, что начиная с одного из следующих обновлений при первом звонке сервис будет спрашивать пользователей о настройках видео и аудио для будущих разговоров. Представители сервиса пояснили, что клиент Zoom всегда запускается на видном месте и пользователь в любой момент может выйти из разговора. В компании также отметили, что не нашли признаков эксплуатации уязвимости.

В апреле 2019 года Zoom вышел на IPO. Стартап является одним из немногих прибыльных и успешных «единорогов» — компаний, чья оценка превышает миллиард долларов.

#приватность #уязвимости #сервисы #новости

{ "author_name": "Дамир Камалетдинов", "author_type": "editor", "tags": ["\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438","\u0441\u0435\u0440\u0432\u0438\u0441\u044b","\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0441\u0442\u044c","\u043d\u043e\u0432\u043e\u0441\u0442\u0438"], "comments": 24, "likes": 41, "favorites": 9, "is_advertisement": false, "subsite_label": "tech", "id": 105599, "is_wide": false, "is_ugc": false, "date": "Tue, 09 Jul 2019 20:24:06 +0300" }
{ "id": 105599, "author_id": 50011, "diff_limit": 1000, "urls": {"diff":"\/comments\/105599\/get","add":"\/comments\/105599\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/105599"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 214344, "last_count_and_date": null }
24 комментария

Популярные

По порядку

Написать комментарий...
15

Мне кажется, что эта часть просто великолепна:
I also found that, instead of making a regular AJAX request, this page instead loads an image from the Zoom web server that is locally running. The different dimensions of the image dictate the error/status code of the server. You can see that case-switch logic here.

Ответить
0

Это же чтобы на CORS не попадать

Ответить
0

Да, я знаю, для чего это. На мой взгляд, стартап с таким подходом должен скоропостижно умереть.

Ответить
10

Вчерашние новости - завтра. Девиз ТЖ.

Ответить
0

Сегодняшняя

Ответить
5

Сегодняшнюю ждём завтра 😏😉

Ответить
0
Heads up @zoom_us:
The fix for the security vulnerability that impacts ~4 million of your users has regressed.
90-day public disclosure deadline was June 24th.
I'm going public tomorrow.
This is unacceptable.
Ответить
0

Это он только анонсировал раскрытие уязвимости

Ответить
2

да, и 23 часа назад раскрыл.

Ответить
5

Круто, мы же все следим за его твиттером

Ответить
0

Там ссылка на медиум.

Ответить
9

в популярном сервисе видеозвонков

🤔🤔🤔

Ответить
4

Когда не хочешь платить за вирт, а смотреть хочется)

Ответить
2

Что с лицом, Лихачёв?

Ответить
2

Если бы Zoom не использовал такую схему, то при нажатии на ссылку пользователя бы постоянно спрашивали, хочет ли он запустить приложение.

На мак не завезли xdg-open? Серьезно?

Ответить
0

Серьёзно. Страдаем.

Ответить
0

Вообще можно ж галочку "aways open" поставить и всё.

Ответить
0

И что, даже зелёная лампочка не загоралась, информируя о том, что с камеры идёт сигнал?

Ответить
3

Вроде как на маках это невозможно обойти и лампочка будет гореть

Ответить
3

Значит все збс, эппл красавы

Ответить
2

Да, ведь один же из аспектов уязвимостей: можно смотреть чужие видео-чаты.

Ответить
0

Лейтшух?...

Ответить
0

Лейтшух?...

Лёгкий шухер...

Ответить
0

все давно знают как бороться с уязвимости вебкамер

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } } ]
Узнавайте важные новости первыми
Подписаться на push-уведомления