То, что Коммерсант скромно подал как историю о «двухстах багах в MAX», на деле оказалось сильно урезанной версией исходного отчёта. Пересказ СМИ не раскрывает даже малой части проблемы, поэтому мы решили ознакомиться с отчётом самих исследователей - и там нашлось немало того, что не попало в приглаженный текст «Коммерсанта».. Помимо уже известных претензий к спорным функциям сервиса, всплыли и дополнительные уязвимости, которые делают общую картину заметно неприятнее. ▪️Во-первых, выявлена критическая уязвимость в механизме дедупликации медиафайлов. Система пытается экономить место на серверах - если один и тот же документ загружают разные люди, она хранит только одну копию. Проблема в том, что, зная цифровой отпечаток файла, злоумышленник может обманом заставить сервер «отдать» ему оригинал из закрытого канала. Более того, этот «отпечаток» вовсе не обязательно знать заранее - посторонний может просто подобрать его банальным перебором. ▪️Во-вторых, в логике обработки пуш-уведомлений обнаружен ошибка синхронизации, из-за чего текст входящего сообщения на короткий момент оказывается в памяти устройства в открытом виде - раньше, чем успевает сработать механизм шифрования. Проще говоря, между доставкой сообщения и включением его защиты возникает короткое окно, в которое содержимое переписки может стать доступным постороннему. ▪️В-третьих, исследователи вскрыли дефект в протоколе синхронизации метаданных между устройствами. Путём отправки специально сформированного сервисного пакета можно вызвать принудительный дамп логов активности в скрытую директорию. Иными словами, злоумышленник может дистанционно заставить ваш мессенджер сформировать подробный отчёт о том, с кем вы общались и когда были в сети, а затем отправить его себе. Это лишь малая часть перечисленных в отчёте уязвимостей. Но больше всего бросается в глаза даже не количество найденных дыр, а их характер. Многие решения в архитектуре приложения выглядят не как случайная ошибка или недосмотр разработчиков, а как изначально заложенная логика работы. Эти «уязвимости» слишком глубоко вшиты в саму механику сервиса, чтобы считать их простыми багами. Скорее, речь идёт даже не о багах, а о фичах. Учитывая, кто именно стоит за разработкой MAX, догадаться с какой целью они были оставлены не так уж сложно.