Bug Bounty, которой нет
https://t.me/bug_bounty_notes
Предыстория
Заказывая очередную вещь на маркетплейсе Wildberries, увидел в футере страницы кликабельную ссылку со знакомым мне текстом “Bug Bounty”. Пройти мимо этой ссылки я не мог, и, отложив оплату своего заказа на потом, сразу побежал читать условия “Программы поиска уязвимостей в системах компании Wildberries”.
Сроки, указанные в условиях программы весьма скромные:
“Договор может быть заключен в течение 30 дней после отправки информации об уязвимости с лицом, нашедшим новую уязвимость, о которой Wildberries не было известно ранее или не сообщалось иными лицами”
“В течение 60 дней с момента отправки сведений об уязвимости, участник не в праве распространять информацию публично или любым третьим лицам”
Суммы вознаграждений тоже неплохие:

Условия баг баунти меня устроили, и я решил принять в ней участие.
Первая уязвимость
Потыкавшись в пару десятков страниц, заметил весьма странное поведение на одной из них.
Вкратце - функция «Поиск по фото» не фильтровала название файла, полученного от пользователя. В результате, злоумышленник мог произвести инъекцию HTML кода в тело документа. Однако, в веб версии сайта название загруженного файла урезалось, в результате чего мне удалось вставить только 5 произвольных символов в начале и 4 символа в конце. поэтому в качестве примера я производил инъекцию <hr> тега.


В итоге мне удалось добиться HTML Injection с весьма значительными (я бы даже сказал огромными) ограничениями по использованию.
Влияние найденной уязвимости на маркетплейс было крайне низким, и потенциальный атакующий вряд ли смог бы навредить конечному пользователю, но я все же решил отправить информацию о ней на адрес электронной почты, указанный в условиях программы поиска уязвимостей: bug@wildberries.ru.
Идея отправить информацию об уязвимости в теле письма мне показалась жутко неудобной, поэтому я сверстал простеньки PDF отчёт, и прикрепил его к письму.
В сообщении кратко описал суть уязвимости, а также добавил адрес электронной почты для ответа, как того требовали условия:
“Информация о найденных уязвимостях должна быть направлена на почтовый ящик bug@wildberries.ru c указанием электронного почтового адреса, по которому можно будет связаться с лицом, нашедшим уязвимость, для согласования дальнейших действий.”
Получилось такое письмо:

18 апреля 2022 года в 14:32 по московскому времени сообщение было отправлено.
А ответа нет...
Отправив отчет я благополучно забыл о нем, лишь изредка проверяя свою электронную почту. Однако дни летели, и вот уже с момента отправки письма прошло больше двух недель, но банального ответа вида “Мы получили ваше сообщение, и обязательно свяжемся с вами” так и не поступило. Стали закрадываться сомнения в том, что письмо не дошло до получателя или затерялось где-то в глубинах электронной почты среди других писем.
Первое обращение
Я решил напомнить сотрудникам о своем письме, но сразу же возник вопрос – как это сделать? На странице контактов (https://www.wildberries.ru/services/kontakty) указаны три электронных адреса:
Для отправки или получения деловой документации - sales@wildberries.ru
Претензии по нарушению прав на интеллектуальную собственность - claims@wildberries.ru
Для запросов СМИ и на участие в мероприятиях - pr@wildberries.ru
Лично мне отправить обращение электронным письмом было бы удобнее, однако делать нечего – email’a для подобных случаев не предусмотрено.
На той же странице есть фраза: “Если у Вас возник вопрос – напишите нам” с гиперссылкой, ведущей на страницу обращений, доступной только авторизированным пользователям.
Переходим по ссылке, и заполняем следующую форму:

5 мая 2022 года отправляем обращение. Через пару часов приходит весьма простой ответ: “Ожидайте, пожалуйста”

Ждём.
Второе обращение
Прошло 6 дней, решил продублировать просьбу. Вновь заполнил форму, и, 11 мая 2022 года отправил обращение.
Ответ пришел быстро, но его содержание оставляло желать лучшего – “Ожидайте, пожалуйста”

Третье обращение
Понедельник, 16 мая 2022 года - обещанный 30 дневный срок потихоньку подходит к концу.
Для того, чтобы моё сообщение увидело как можно больше сотрудников, помимо отправки формы на сайте в третий раз, отправляю еще и письмо с таким же текстом обращения на все известные мне адреса: bug@wildberries.ru, pr@wildberries.ru, sales@wildberries.ru, claims@wildberries.ru.

По классике, ответ в личный кабинет приходит через пару часов. Очередная отписка: “Ожидайте, пожалуйста”. Предоставлять ответ на электронное письмо, увы, никто не захотел.

Вторая уязвимость
От нечего делать, я заметил вторую уязвимость - типа Cross-Site Request Forgery. В этот раз влияние на маркетплейс было немного выше.
Уязвимость позволяла “тихо” осуществить выход из аккаунта жертвы при посещении страницы с эксплоитом, в результате чего злоумышленник имел возможность незаметно разлогинить жертву.
Не знаю зачем, и, видимо, надеясь на чудо, я расписал подробности уязвимости в теле письма, прикрепив при этом сделанный на скорую руку PoC эксплоит и видео демонстрацию работы этого самого PoC эксплоита. 20 мая 2022 года в 10:41 письмо было отправлено.

Четвертое обращение?
Шучу, четвертое обращение писать я, конечно же, не стал.
А даже если бы и написал – почти наверняка получил бы ответ: “Ожидайте, пожалуйста”
Второй уязвимости не было.
Вечер 2 сентября 2022 года.
Вспомнив о своих репортах, я решил проверить присланные ранее уязвимости на работоспособность.
Дабы не тратить много времени, сразу же запустил PoC эксплоит, прикрепленный к письму с уязвимостью типа Cross-Site Request Forgery.
Каково же было моё удивление, когда эксплоит не отработал как положено. Проверив работу эксплоита в разных браузерах (Firefox и Chrome) я пришел к выводу, что описанная мной уязвимость была исправлена разработчиками маркетплейса.
И первой тоже не было.
Поняв, что вторая уязвимость закрыта, я пошел проверять первую. Результат очевиден – она тоже была исправлена.


Итог
На календаре 8 сентября 2022 года.
С момента отправки информации о первой уязвимости прошло ровно 143 дня.
С момента отправки информации о второй уязвимости – 111 дней.
За все время было отправлено 2 электронных письма с подробным описанием найденных уязвимостей, 1 электронное письмо с просьбой обратить внимание на мои сообщения, и 3 обращения такого же содержания.
Обе уязвимости были исправлены, однако ответа по обнаруженным мной проблемам безопасности я так и не получил.
UPD: основной посыл статьи заключается в отсутствии какой-либо реакции компании на присланные баг баунти репорты, а также на бесчисленные попытки "достучаться" до лиц, ответственных за рассмотрение отчетов о проблемах безопасности. Автор полностью осознает, что уязвимости, описанные в данном посте, имеют крайне низкий импакт на маркетплейс.
Подписывайтесь на канал: https://t.me/bug_bounty_notes ;)