Во «ВКонтакте» нашли баг, позволяющий публиковать в пабликах любые видео в обход администраторов Материал редакции

Можно опубликовать ролик в сообществе, где открыта функция «Предложить новость». В соцсети заявили, что уже это исправили.

В закладки
Аудио
Видео, опубликованное пользователем, у которого нет прав администратора паблика Скриншот тестового сообщества

Во «ВКонтакте» обнаружили уязвимость, позволяющую опубликовать любое видео в сообществе без ведома администраторов. Пользователи могут сделать это через раздел «Предложенные новости» — никто из руководства паблика не получит об этом уведомление. Об этом рассказал читатель TJ, пожелавший остаться анонимным.

По словам читателя, он обратил внимание на баг, когда в его сообществе со 135 тысячами подписчиков появилось два коротких ролика. Оба видео опубликовал пользователь без прав администрации через форму «Предложить новость». В истории изменений поста было указано имя автора без информации о том, кто из редакторов его опубликовал.

Как я понимаю, функции закрыть предложенные новости вообще не существует. Теоретически такое можно провернуть в абсолютно любом открытом сообществе во «ВКонтакте».

У нас чуть больше 100 тысяч подписчиков, а в сообществах с миллионами читателей можно ночью начать постить такие вещи, что будет совсем беда.

читатель TJ, обнаруживший баг

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

  • Читатель повторил баг с предложенными новостями в тестовом сообществе. Без доступа к настройкам и без прав редактора он смог опубликовать несколько роликов любой длительности;
  • Чтобы баг сработал, достаточно просто загрузить видео к себе на страницу и повторить последовательность действий в разделе «Предложить новость»;
  • Для того, чтобы опубликовать любое видео в любом паблике, не нужно открывать код страницы, залезать в код «ВКонтакте» или иметь навыки программиста;
  • Редактор TJ повторил то же самое по его инструкции в другом паблике — уязвимость снова сработала.

Читатель также рассказал, что изначально не планировал публично рассказывать о баге и обращался в техподдержку «ВКонтакте». Несмотря на общедоступность уязвимости, там несколько раз пообещали «посмотреть и что-то придумать», но больше ничего не ответили. Скриншоты переписки есть в распоряжении TJ. Он также опубликовал информацию о баге в HackerOne, где ветку с обсуждением закрыли с формулировкой о дубликате.

Описание бага с предложенными новостями во «ВКонтакте» Скриншот сайта HackerOne

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

Уязвимость была исправлена, благодарим пользователя за фидбек.

Вопрос ушёл в работу после первого сообщения пользователя. Агенты Поддержки сразу же сообщили о проблеме разработчикам, но для её решения понадобилось время.

пресс-служба «ВКонтакте»

Читатель TJ подтвердил, что администрация «ВКонтакте» поправила баг — ему не удалось повторить его ни в мобильной, ни в десктопной версии.

Как понимаю, проблема была в том, что в «ВКонтакте» не до конца предусмотрели настройки приватности при заливке видео (достаточно было без сохранения закрыть вкладку со страницей с новым видео).


После этого дело оставалось за малым: выбираем сообщество, предлагаем видео через форму «Предложить новость», возвращаемся к нашему видео и пытаемся его опубликовать с выбранной галочкой «Опубликовать на моей странице».

Остался вопрос: почему вместо функции «Опубликовать на моей странице» срабатывала автоматическая публикация в чужом сообществе? При этом в профиле видео оставалось неопубликованным.

читатель TJ, обнаруживший баг
{ "author_name": "Николай Чумаков", "author_type": "editor", "tags": ["\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438","\u0441\u043e\u0446\u0441\u0435\u0442\u0438","\u043d\u043e\u0432\u043e\u0441\u0442\u0438","\u043d\u0435\u043f\u043e\u043b\u0430\u0434\u043a\u0438","\u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435"], "comments": 6, "likes": 35, "favorites": 6, "is_advertisement": false, "subsite_label": "internet", "id": 82429, "is_wide": false, "is_ugc": false, "date": "Tue, 18 Dec 2018 20:06:24 +0300", "is_special": false }
0
{ "id": 82429, "author_id": 98420, "diff_limit": 1000, "urls": {"diff":"\/comments\/82429\/get","add":"\/comments\/82429\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/82429"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 214343, "last_count_and_date": null }
6 комментариев
Популярные
По порядку
Написать комментарий...
22

Так если баг исправили, зачем скрывать полный алгоритм

Ответить
5

Они пытаются отойти от шока, что баги вообще можно исправлять

Ответить
1

Не рассказывайте Ширяеву

Ответить
2

Не баг, а фича

Ответить
2

Когда был баг с деаноном админа паблика по комментам, тоже закрыли, как дубликат.

Ответить
2

Комментарий удален по просьбе пользователя

Ответить
Обсуждаемое
Технологии
Huawei представила Mate 30 — свои первые смартфоны без сервисов Google
Зато с «самой совершенной чёлкой» на рынке и без физических кнопок громкости.
TJ
50 самых добавляемых в закладки материалов на TJ
Идеальный пост для пополнения своей коллекции в профиле.
Технологии
Фотообзор фотообзоров: iPhone 11
Журналисты называют новую камеру «лучшей в смартфонах».
Популярное за три дня
Интернет и мемы
Машина времени
Интернет и мемы
Я/Мы Павел Устинов: российские актёры запустили флешмоб в поддержку коллеги, осуждённого за вывих плеча нацгвардейца
«Журналисты отстояли Голунова, рэперы отстояли Хаски», — это акция «цеховой солидарности», в которой уже приняли участие десятки человек.
Новости
В калининградской больнице начали выдавать талоны с услугой «просто спросить»
Чаще всего люди спрашивают как получить направление в областную больницу или попасть на приём к определённому врачу.

Прямой эфир

[ { "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": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovy", "p2": "glug" } } }, { "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" } } } ]