Пост о том, как поддержка Яндекс.Диска динамила почти 400 дней баг с вероятной утечкой приватных данных и в итоге признала это не багом, а фичей! Куча текста, переписка и совсем без картинок - под катом.
Чуть более года назад наткнулся я на одну "особенность" в работе Яндекс.Диска, которая при стечении обстоятельств позволяет получить файлы, явно не предназначенные тебе. Т.е. по сути - это получение приватных данных. Решил отписаться по этому поводу в саппорт ЯДа и... и далее то, к чему пришла моя переписка.
О проблемеТут проще будет описать алгоритм действий, приводящий к возможности получения доступа к приватному файлу. Возьмем для этого кусок моего письма в тех.поддержку ЯДа:
1) Забрасываем фаил в любую папку Яндекс Диска и ждем окончания синхронизации.
2) После того, как диск синхронизируется, ПКМ по файлу и "Яндекс Диск: скопировать публичную ссылку".
3) Ссылка копируется в буфер обмена. Открываем ссылку в браузере и видим только что сохраненный на ЯДе фаил.
4) Перезаписываем фаил (т.е. сохраняя те же имя и расширение) другим файлом (именно перезаписываем, подверждая это в проводнике Windows).
5) Ждем, когда данные синхронизируются.
6) Повторяем пункт 2.
7) Открываем ЯКОБЫ новую ссылку на фаил в браузере и видим новый фаил. Но ссылка осталась прежней.
(все описанные действия актуальны для Windows/MacOS систем с самой свежей версией клиента на 26 марта 2018 года. На никсах не проверял)
Как не трудно догадаться, доступ к НОВОМУ файлу будет у того же круга лиц, которому была отправлена ссылка на СТАРЫЙ фаил когда-то ранее. Т.е. если СТАРЫЙ фаил был архивом с фотографиями котиков и был разослан куче народа, то теперь, заменив его, скажем, архивом со сканом паспорта - все любители котиков получат к нему доступ. Весело ? Я считаю что очень.
А что говорит саппорт ?И вот тут наступает самый интересный момент.
Впервые о проблеме я отписался в саппорт 20 февраля 2017 года. Писал по программе "Охота за ошибками". Не скажу, что расчитывал на получение миллионов, уважение и почет... просто на такие "заявки", как мне казалось, должна быть самая быстрая реакция у комманды сервиса. Ага. 2 раза и 1 с собой.
Заявка была получена саппортом, о чем пришло письмо с номером. И все. Тишина и мрак. Время шло и наткнувшись в почте на старое письмо с подтверждением о получении заявки, я решил поинтересоваться как там дела. К сожалению, точной даты не скажу, когда я решил уточнить статус заявки, но это было спустя месяца 2.
Ответ на этот запрос пришел 7 ноября 2017 года. Т.е. спустя 6.5 месяцев с момента сообщения о баге. Шустро, что сказать. Вот текст того письма:
Прошу прощения за задержку с ответом.
Благодарим за интерес, проявленный к безопасности сервисов Яндекса.
Информация об этой уязвимости уже была нам ранее прислана другим исследователем.
В связи с этим, к сожалению, мы не можем присудить за нее вознаграждение.
"Ну и хрен с Вами" - подумал я и забил. Спустя неделю (14 ноября 2017 года) получаю еще одно письмо от саппорта:
Здравствуйте!
Прошу прощения за задержку с ответом.
Благодарим за интерес, проявленный к безопасности сервисов Яндекса.
К сожалению, нам не удается выявить уязвимость, о которой вы сообщили. Пожалуйста, опишите более подробно, как её можно обнаружить. Возможно, нам нужно обратить внимание на какие-то детали.
Т.е. про баг они знают и уже давно, но повторить его не могут. А поэтому никто устранением проблемы не занимался в принципе. Хрен с ним, мне не сложно, я отправляю в тот же день мануал с картинками, где описываю как добиться косого поведения клиента Яндекс.Диска.
Что дальше ? А дальше - ТИ ШИ НА. Нет, мне конечно же до фонаря, как там и что, если бы ответ не пришел вновь. 20 февраля 2018 уже года, т.е. спустя ровно год с момента отправки инфы о баге - мне присылают письмо следующего содержания:
Прошу прощения за задержку с ответом.
Благодарим за интерес, проявленный к безопасности сервисов Яндекса.
К сожалению, нам не удается выявить уязвимость, о которой вы сообщили.
При выполнении описанных вами действий мы каждый раз получали разные ссылки.
Пожалуйста, опишите более подробно, как её можно обнаружить. Возможно, нам нужно обратить внимание на какие-то детали.
"Прошу прощения за задержку с ответом." - это как "%username%, Добрый день!" в деловой переписке. Тупо шаблон.
Описывать каждый раз одни и те же действия меня откровенно ломало. Так же меня ломало заниматься этим тратя свое время, хотя результат будет один и тот же. Поэтому я пишу им следующий текст:
Ребят, Вы ровно год рассматриваете эту заявку. Я дважды описывал алгоритм действий, который приводил к одному и тому же результату. Сейчас, кстати, ничего не изменилось.
После того, как Вы же мне сообщили, что "... Информация об этой уязвимости уже была нам ранее прислана другим исследователем. В связи с этим, к сожалению, мы не можем присудить за нее вознаграждение..." - Вы просите в 3-й раз описать как добиться ошибочной работы сервиса ? Если это было не ясно с первого раза, то во второй раз я описал все от А до Я. В третий раз нужно снять видео ? Я не буду этого делать. Нет стимула тратить время еще раз. Да и мурыжить 365 дней заявку - ну Вам виднее.
Куда как логичнее описать эту недокументированную особенность работы Я.Диска на том же http://habrahabr.ru/ , дабы народ не наступил на те же грабли, что и я, обнаружив ее. Один черт, "мы не можем присудить за нее вознаграждение" и рассматривать заявки хотя бы в течении месяца, а не года - тоже.
Всех благ.
Ну реально уже достали. Ответ не заставил себя ждать:
Длительный срок обработки заявки связан с проблемами в воспроизведении поведения. Алгоритм, который вы описываете, не приводит к описанному поведению, и, поэтому, не является достоверным.
Наличие скринкаста действительно помогло бы.
Сообщение о том, что информация уже была прислана ранее, является ошибочной. Мы извиняемся за введение вас в заблуждение.
Делаем логичный вывод - левая рука не знает, что делает правая. И письмо, в котором я описывал алгоритм с картинками - они явно просрали. Тут мне стало уже откровенно интересно, если им отправить порядок действий, снабдить его картинками - то каков будет результат ? А главное - когда они ответят вновь ? Сказано - сделано. Ман был написан в третий раз и отправлен все по тому же адресу.
Ответили в этот раз почти мгновенно, через месяц.
Прошу прощения за задержку с ответом.
Благодарим за интерес, проявленный к безопасности сервисов Яндекса.
После длительного общения с разработчиками сервиса выяснилось, что проблема, о которой вы сообщили нам, является запланированным поведением.
В связи с этим, к сожалению, мы не можем присудить за нее вознаграждение.
БИНГО! Утечка приватных данных, хоть и при стечении некоторых обстоятельств - это не баг, это фича!
Спасибо, дорогой Яндекс. Теперь я буду хранить у тебя только то говно, которое не жалко потерять, но забивать им дисковое пространство на машине жалко. Так и только так. Пора вновь накатить на сервак старый добрый
PS.
Имя сотрудника Яндекса я специально не стал указывать. Так же, как и номер тикета, присвоенный системой учета заявок Яндекса.